//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Add RPC and Barrel hits to TPC-CDC tracks // Sept.. 2014 // // // Environment: // Software developed for the Prototype Detector at FOPI // // Author List: // Felix Boehmer (TUM) // // //----------------------------------------------------------- #ifndef RPCBARMERGING_H #define RPCBARMERGING_H //Base class #include "FairTask.h" #include "TString.h" class TpcDigiPar; class TClonesArray; // Collaborating Class Declarations -------------------------------------- class FopiRpcBarMergingTask : public FairTask { public: // Constructor ---------------------------------------------- FopiRpcBarMergingTask(); //default constructor virtual ~FopiRpcBarMergingTask(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); // Modifiers -------------------------------------------------- void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetCdcTrackBranchName(const TString& cdcn) {fCdcTrackBranchName=cdcn;} void SetCdcGFTrackBranchName(const TString& cdcn) {fCdcGFTrackBranchName=cdcn;} void SetRpcHitBranchName(const TString& bn) {fRpcHitBranchName=bn;} void SetBarHitBranchName(const TString& bn) {fBarHitBranchName=bn;} void SetTrackBranchName(const TString& cdcn) {fTrackBranchName=cdcn;} void SetTupleBranchName(const TString& tbn) {fTupleBranchName=tbn;} //input tuples //... void SetTrackOutBranchName(const TString& outn) {fOutBranchName=outn;} void SetCdcTrackOutBranchName(const TString& outn) {fCdcOutBranchName=outn;} void SetSmoothing(Bool_t opt=kTRUE) {fSmoothing=opt;} //dissolve FOPI reco CDC-RPC matching void SetDissolveFOPIRpcMatching(Bool_t opt=true) {fDisRpc=opt;} void SetExtrapResMeanZ(double mean) {fRpcResMean=mean;} void SetExtrapResSigZ(double sig) {fRpcResSig=sig;} void SetExtrapWindow(double mult) {fSigMult=mult;} void SetExtrapToZ(bool opt){fExtrapToZ=opt;} private: Bool_t fPersistence; TString fOutBranchName; TString fCdcOutBranchName; TString fTrackBranchName; TString fCdcTrackBranchName; TString fCdcGFTrackBranchName; TString fTupleBranchName; TString fRpcHitBranchName; TString fBarHitBranchName; TClonesArray* fTupleArray; TClonesArray* fTrackArray; TClonesArray* fCdcTrackArray; TClonesArray* fCdcGFTrackArray; TClonesArray* fRpcHitArray; //GF pixel hits TClonesArray* fBarHitArray; //GF pixel hits TClonesArray* fTrackOutArray; //TPC-CDC + BAR/RPC TClonesArray* fCdcTrackOutArray; //CDC + BAR/RPC Bool_t fSmoothing; Bool_t fDisRpc; TpcDigiPar* fPar; double fRpcResMean; //mean of the extrapolation residual distribution. //need to get that offline from data ansalysis, eg anaVelocity.py double fRpcResSig; //Gaussian sigma from fit to above distribution double fSigMult; //Multiple of sigma to check inside Bool_t fExtrapToZ; public: ClassDef(FopiRpcBarMergingTask,1) }; #endif