00001 00002 // $Id: CandRmMu.h,v 1.6 2008/09/17 02:56:19 tjyang Exp $ 00003 // 00004 // CandRmMu 00005 // 00007 00008 #ifndef CANDRMMU_H 00009 #define CANDRMMU_H 00010 00011 #include "Candidate/CandHandle.h" 00012 #include "Candidate/CandBase.h" 00013 #include <map> 00014 00015 class AlgHandle; 00016 class CandContext; 00017 class CandRmMuHandle; 00018 class CandDigit; 00019 00020 class CandRmMu : public CandBase 00021 { 00022 friend class CandRmMuHandle; 00023 00024 public: 00025 static CandRmMuHandle MakeCandidate(AlgHandle &ah, 00026 CandContext &cx); 00027 CandRmMu(); 00028 00029 protected: 00030 CandRmMu(AlgHandle &ah); 00031 CandRmMu(AlgHandle &ah, CandHandle &ch, CandContext &cx); 00032 CandRmMu(const CandRmMu &rhs); 00033 virtual ~CandRmMu(); 00034 virtual void CreateLocalHandle(); 00035 virtual CandRmMu *Dup() const; 00036 virtual Bool_t IsEquivalent(const TObject *rhs) const; 00037 00038 mutable std::map<const CandDigit*,Int_t> fReasonForKeeping; 00039 00040 //************************** 00041 // added by J. Ling 00042 Float_t shwvtxx; // shower vertex x 00043 Float_t shwvtxy; // shower vertex y 00044 Float_t shwvtxz; // shower vertex z 00045 Float_t shwendx; // shower end x 00046 Float_t shwendy; // shower end y 00047 Float_t shwendz; // shower end z 00048 Int_t shwvtxplane; // shower vertex plane 00049 Int_t shwendplane; // shower end plane 00050 Int_t shwnplane; // shower end - begin plane + 1 00051 Float_t shwcharge; // shower mip 00052 00053 Float_t vtxx; //track vertex x 00054 Float_t vtxy; //track vertex y 00055 Float_t vtxz; //track vertex z 00056 Float_t vtxdistance; // track vertex distance to the edge 00057 Float_t endx; //track end x 00058 Float_t endy; //track end y 00059 Float_t endz; //track end z 00060 Float_t enddistance; // track end distance to the edge 00061 00062 Int_t vtxp; //track vertex plane 00063 Int_t endp; //track end plane 00064 Int_t npln; //track end - begin plane + 1 00065 Float_t prng; //track mom from range 00066 Float_t pcrv; //track mom from curvature 00067 Float_t pvdx; //track vertex dir cos x 00068 Float_t pvdy; //track vertex dir cos y 00069 Float_t pvdz; //track vertex dir cos z 00070 00071 Float_t zenith; // track zenith angle 00072 Float_t azimuth; // track azimuth angle 00073 00074 Int_t fitp; //track fit pass 00075 Int_t endc; //track contained? 00076 Int_t pass; //is track contained or, if not, fit is good 00077 Float_t pmux; //track x momentum (using appropriate momentum) 00078 Float_t pmuy; //track y momentum (using appropriate momentum) 00079 Float_t pmuz; //track z momentum (using appropriate momentum) 00080 Double_t qp; //q over pcurve 00081 //variables for MRM study 00082 Float_t mrmpmux; //true muon x momentum 00083 Float_t mrmpmuy; //true muon y momentum 00084 Float_t mrmpmuz; //true muon z momentum 00085 Float_t mrmQ2; //converted Q2 00086 Float_t mrmEshw; //converted Eshw 00087 00088 Int_t fOrigEvtIndex; //Event index in original eventlist 00089 Int_t fMaxTrkPlane; //Plane beyond which all hits are killed in MR technique 00090 00091 Int_t fNMuonDig; //The number of 'true muon' hits 00092 Int_t fNMuonDigRetained; //The number of 'true muon' hits after removal 00093 00094 Int_t fNShwDig; //Number of true shower hits 00095 Int_t fNShwDigRetained; //number of true shower hits after removal 00096 Int_t fNShwDigAtVtx; //as above but for vertex shower only 00097 Int_t fNShwDigRetainedAtVtx; 00098 00099 Float_t fNShwPE; //shower pe's 00100 Float_t fNShwPERetained; //shower pe's retained 00101 Float_t fNShwPEAtVtx; //as above but for vertex shower only 00102 Float_t fNShwPERetainedAtVtx; 00103 00104 Int_t fNRetained; //number of hits retained 00105 Int_t fNRetainedMuon; //for muon 00106 Int_t fNRetainedShw; //for shower 00107 Int_t fNRetainedBoth; //for both 00108 00109 Float_t fPERetained; //pe retained 00110 Float_t fPERetainedMuon; 00111 Float_t fPERetainedShw; 00112 Float_t fPERetainedBoth; 00113 00114 Int_t fNRejected; 00115 Int_t fNRejectedMuon; 00116 Int_t fNRejectedShw; 00117 Int_t fNRejectedBoth; 00118 00119 Int_t fNRejShw; 00120 Int_t fNRejShwMaxTrk; 00121 Int_t fNRejShwFakeTrk; 00122 Int_t fNRejShwMix; 00123 00124 ClassDef(CandRmMu,4) 00125 }; 00126 00127 #endif // CANDRMMU_H
1.3.9.1