#ifndef CDCTRACKCHAIN_HH #define CDCTRACKCHAIN_HH #include #include #include #include #include #include #include #include #include #include class CdcTrackChain: public TObject { public: CdcTrackChain(TChain* chain_, TChain* friendChain_, TString outFile_="", bool GFMode=false); void Init(); void InitHistos(); void Exec(int cutOnValidVertex, double momCutLow,double momCutHigh); void writeHistos(); //Setters: void setCdcBranchName(TString name){cdcBranchName=name;} void setFopiEventBranchName(TString name){fopiEventBranchName=name;} void setOutFileName(TString name){outFileName=name;} void setNEvents(int n){nEvents=n;} void setVerbose(int verb=1){fVerbose=verb;} //helper function static int getCdcSector(TVector3 wirePos); static int getCdcSector(double phi); private: TChain* chain; TChain* friendChain; TTreeIndex *fFopiIndex; int nEvents; std::vector arrays; TClonesArray* cdcArray; TClonesArray* cdcHitArray; TClonesArray* fopiEventArray; TClonesArray* tpcEventIdentifiererArray; TString cdcBranchName; TString cdcHitBranchName; TString fopiEventBranchName; TString tpcEventIdentifierBranchName; TString outFileName; TFile* outFile; std::map histos; int fVerbose; bool fGFMode; public : ClassDef(CdcTrackChain,0) }; #endif // CdcTrackChain_H