#ifndef HMDCEXTRACTOR_H #define HMDCEXTRACTOR_H #include "hreconstructor.h" #include "TString.h" class HCategory; class HLocation; class HIterator; class HMdcTrkCandExtractor; class HMdcWireInfoExtractor; class TFile; class HTree; class HRecEvent; class HMdcFunc1; class HMdcExtractor : public HReconstructor { protected: HMdcTrkCandExtractor* trkcandext; //! pointer to the trk candidate extractor HMdcWireInfoExtractor* wireinfoext; //! pointer to the wireinfo extractor HCategory* segCat; //! pointer to the seg data HIterator* iterseg; //! iterator on seg data. HLocation locseg; //! location in segment category HCategory* trkcandCat; //! pointer to the HMdcTrkCand data HIterator* itertrkcand; //! Iterator to the HMdcTrkCand data HCategory* kickCat; //! pointer to the seg data HIterator* iterkick; //! iterator on kicktrack data. HLocation lockick; //! location in kicktrack category HCategory* pidpartCat; //! pointer to HPidParticle category HIterator* iterpidpart; //! Iterator to HPidParticle category HCategory* pidcandCat; //! pointer to HPidCandidate category HCategory* pidtrackCat; //! pointer to HPidTrackCand category HMdcFunc1* func1; //! Jaro's helper class for single/double tracks (CPR) TString filenameCPR; //! file name of CPR parameters TString conditionCPR; //! condition or/and of both inner mdc modules probalitty > prob (default OR) Bool_t cpr; //! switch on CPR for single/double investigation Float_t probSingle; //! probability threshold for singles Int_t cprct[2]; //! counters for singles/doubles Int_t counter; Int_t lookupseg[500]; //! bookkeeping of segments Int_t multseg[500]; //! multiplicity of one segment Int_t segctr; //! multiplicity of one segment HRecEvent* event; //! copy event void initLookupSeg() {for(Int_t i=0;i<500;i++) {lookupseg[i]=-1;multseg[i]=0;}} void resetLookupSeg(){for(Int_t i=0;i