00001 00002 00003 // Program name: CDTruthifier.cxx 00004 // 00005 // Package: CalDetTracker 00006 // 00007 // Purpose: A class to reconstruct the MC truth information 00008 // 00009 // Contact: Chris Smith, Ryan Nichol, Leo Jenner or Jeff Hartnell 00011 00012 #ifndef CDTRUTHIFIER_H 00013 #define CDTRUTHIFIER_H 00014 00015 #include <map> 00016 00017 #include "TObject.h" 00018 00019 #include "Digitization/DigiScintHit.h" 00020 #include "RecoBase/CandStripHandle.h" 00021 #include "RecoBase/CandStripListHandle.h" 00022 00023 class CDPIDInfo; 00024 class MomNavigator; 00025 class TClonesArray; 00026 00027 class CDTruthifier : public TObject 00028 { 00029 public: 00030 00031 CDTruthifier(); 00032 ~CDTruthifier(); 00033 00034 //non-const methods 00035 void GetTruthHitInfo(const MomNavigator *mom,TClonesArray *infoarray); 00036 00037 //const methods 00038 Int_t PdgCode2CalDetParticleType(Int_t pdgCode) const; 00039 void RecoStdHep(const MomNavigator *mom,CDPIDInfo* pidInfo) const; 00040 Float_t ParticleMomentum(const MomNavigator* mom) const; 00041 private: 00042 00043 //non-const methods 00044 void ExtractAllDigiScintHits(const MomNavigator *mom); 00045 void ExtractAllCandStripHandles(const MomNavigator *mom); 00046 void InitialiseVariables(); 00047 void MakeCompleteStripList(const MomNavigator *mom); 00048 00049 //data members 00050 std::multimap<Int_t,DigiScintHit*> fAllDigiScintHits; 00051 std::map<Int_t,CandStripHandle*> fAllCandStripHandles; 00052 std::map<Int_t,Int_t> fCompleteStripList; 00053 00054 ClassDef(CDTruthifier,1) // CDTruthifier 00055 }; 00056 #endif //CDTRUTHIFIER_H 00057 00058 00059 00060 00061 00062 00063
1.3.9.1