ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Muon.h
(Generate patch)

Comparing UserCode/MitAna/DataTree/interface/Muon.h (file contents):
Revision 1.32 by bendavid, Mon Mar 22 18:40:16 2010 UTC vs.
Revision 1.39 by ceballos, Fri Jun 18 06:10:04 2010 UTC

# Line 61 | Line 61
61  
62   #include "MitAna/DataTree/interface/Track.h"
63   #include "MitAna/DataTree/interface/ChargedParticle.h"
64 + #include "MitAna/DataTree/interface/MuonQuality.h"
65  
66   namespace mithep {
67    class Muon : public ChargedParticle {
# Line 80 | Line 81 | namespace mithep {
81        const Track   *StandaloneTrk()                 const { return fStaTrkRef.Obj();          }
82        const Track   *TrackerTrk()                    const { return fTrkTrkRef.Obj();          }
83        const Track   *Trk()                           const { return BestTrk();                 }
84 +      Double_t       D0PV()                          const { return fD0PV;                     }
85 +      Double_t       D0PVErr()                       const { return fD0PVErr;                  }
86 +      Double_t       D0PVSignificance()              const { return fD0PV/fD0PVErr;            }
87 +      Double_t       Ip3dPV()                        const { return fIp3dPV;                   }
88 +      Double_t       Ip3dPVErr()                     const { return fIp3dPVErr;                }
89 +      Double_t       Ip3dPVSignificance()            const { return fIp3dPV/fIp3dPVErr;        }
90 +      Double_t       D0PVBS()                        const { return fD0PVBS;                   }
91 +      Double_t       D0PVBSErr()                     const { return fD0PVBSErr;                }
92 +      Double_t       D0PVBSSignificance()            const { return fD0PVBS/fD0PVBSErr;        }
93 +      Double_t       Ip3dPVBS()                      const { return fIp3dPVBS;                 }
94 +      Double_t       Ip3dPVBSErr()                   const { return fIp3dPVBSErr;              }
95 +      Double_t       Ip3dPVBSSignificance()          const { return fIp3dPVBS/fIp3dPVBSErr;    }
96 +      Double_t       PVCompatibility()               const { return fPVCompatibility;          }
97 +      Double_t       PVBSCompatibility()             const { return fPVBSCompatibility;        }
98        Double_t       EmEnergy()                      const { return fEmEnergy;                 }
99        Double_t       EmS9Energy()                    const { return fEmS9Energy;               }
100        Double_t       GetDX(Int_t iStation)           const;
# Line 115 | Line 130 | namespace mithep {
130        Double_t       IsoR05HoEt()                    const { return fIsoR05HoEt;               }
131        UShort_t       IsoR05NTracks()                 const { return fIsoR05NTracks;            }
132        UShort_t       IsoR05NJets()                   const { return fIsoR05NJets;              }
133 +      UInt_t         NValidHits()                    const { return fNValidHits;               }
134        UInt_t         NChambers()                     const { return fNTraversedChambers;       }
135        UInt_t         NSegments()                     const { return fStationMask.NBitsSet();   }
136        Int_t          LastHit()                       const;
137        Int_t          LastStation(Double_t iMaxD, Double_t iMaxP)               const;
138 <      Int_t          LastStation(Int_t iMax=8)                                 const;
138 >      Int_t          LastStation(Int_t iMax=8)       const;
139        Int_t          ObjId()                         const { return ObjType()*1000+Is();       }
140        EObjType       ObjType()                       const { return kMuon;                     }
141        void           Print(Option_t *opt="")         const;
142 <      Bool_t         PromptTight(EClassType type)                              const;
142 >      Bool_t         PromptTight(EClassType type)    const;
143 >      const MuonQuality  &Quality()                  const { return fQuality;                  }
144 >      MuonQuality        &Quality()                        { return fQuality;                  }
145        Bool_t         StationBit(Int_t bit)           const { return fStationMask.TestBit(bit); }
146        Bool_t         TMLastStation(Double_t iDYMin = 3, Double_t iPYMin = 3,
147                                     Double_t iDXMin = 3, Double_t iPXMin = 3,UInt_t iN = 2) const;
148        Bool_t         TMOneStation(Double_t iDYMin = 3, Double_t iPYMin = 3,
149                                    Double_t iDXMin = 3, Double_t iPXMin = 3,UInt_t iN = 1)  const;
150 <      void           SetCharge(Char_t x)                   { fCharge = x;                      }
150 >      void           SetCharge(Char_t x)                   { fCharge = x; ClearCharge();       }
151        void           SetGlobalTrk(const Track *t)          
152                         { fGlobalTrkRef = t; ClearMom(); ClearCharge(); }
153        void           SetStandaloneTrk(const Track *t)      
# Line 138 | Line 156 | namespace mithep {
156                         { fTrkTrkRef = t;    ClearMom(); ClearCharge(); }
157        void           SetDX(Int_t iStation, Double_t iDX);
158        void           SetDY(Int_t iStation, Double_t iDY);
159 +      void           SetD0PV(Double_t x)                   { fD0PV = x;                        }
160 +      void           SetD0PVErr(Double_t x)                { fD0PVErr = x;                     }
161 +      void           SetIp3dPV(Double_t x)                 { fIp3dPV = x;                      }
162 +      void           SetIp3dPVErr(Double_t x)              { fIp3dPVErr = x;                   }
163 +      void           SetD0PVBS(Double_t x)                 { fD0PVBS = x;                      }
164 +      void           SetD0PVBSErr(Double_t x)              { fD0PVBSErr = x;                   }
165 +      void           SetIp3dPVBS(Double_t x)               { fIp3dPVBS = x;                    }
166 +      void           SetIp3dPVBSErr(Double_t x)            { fIp3dPVBSErr = x;                 }
167 +      void           SetPVCompatibility(Double_t x)        { fPVCompatibility = x;             }
168 +      void           SetPVBSCompatibility(Double_t x)      { fPVBSCompatibility = x;           }
169        void           SetEmEnergy(Double_t EmEnergy)        { fEmEnergy = EmEnergy;             }
170        void           SetEmS9Energy(Double_t EmS9Energy)    { fEmS9Energy = EmS9Energy;         }
171        void           SetHadEnergy(Double_t HadEnergy)      { fHadEnergy = HadEnergy;           }
# Line 160 | Line 188 | namespace mithep {
188        void           SetIsoR05HoEt(Double_t isoR05HoEt)    { fIsoR05HoEt = isoR05HoEt;         }
189        void           SetIsoR05NTracks(UShort_t isoR05NTrk) { fIsoR05NTracks = isoR05NTrk;      }
190        void           SetIsoR05NJets(UShort_t isoR05NJets)  { fIsoR05NJets = isoR05NJets;       }
191 +      void           SetNValidHits(UShort_t iNValidHits)   { fNValidHits  = iNValidHits;       }
192        void           SetNChambers(UShort_t iNTraCh)        { fNTraversedChambers = iNTraCh;    }
193        void           SetNSegments(Int_t iStation, Int_t NSegments);
194        void           SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi);
# Line 197 | Line 226 | namespace mithep {
226        Double32_t     fEmS9Energy;          //[0,0,14]energy deposit in 3x3 ecal
227        Double32_t     fHadS9Energy;         //[0,0,14]energy deposit in 3x3 hcal
228        Double32_t     fHoS9Energy;          //[0,0,14]energy deposit in 3x3 outer hcal
229 +      Double32_t     fD0PV;                //[0,0,14]transverse impact parameter to signal PV
230 +      Double32_t     fD0PVErr;             //[0,0,14]transverse impact parameter uncertainty to signal PV
231 +      Double32_t     fIp3dPV;              //[0,0,14]3d impact parameter to signal PV
232 +      Double32_t     fIp3dPVErr;           //[0,0,14]3d impact parameter uncertainty to signal PV
233 +      Double32_t     fD0PVBS;              //[0,0,14]transverse impact parameter to signal PV w/ bs constraint
234 +      Double32_t     fD0PVBSErr;           //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint
235 +      Double32_t     fIp3dPVBS;            //[0,0,14]3d impact parameter to signal PV w/ bs constraint
236 +      Double32_t     fIp3dPVBSErr;         //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint
237 +      Double32_t     fPVCompatibility;     //[0,0,14]chi^2 compatibility with signal PV (ndof=2)
238 +      Double32_t     fPVBSCompatibility;   //[0,0,14]chi^2 compatibility with signal PV w/ bs constraint (ndof=2)
239 +      UShort_t       fNValidHits;          //number of Valid hits in global fit
240        UShort_t       fNTraversedChambers;  //number of traversed chambers
241 +      MuonQuality    fQuality;             //muon quality
242        BitMask8       fStationMask;         //bitmap of station with tracks, 0-3 DT, 4-7 CSCs
243        Double32_t     fDX[8];               //[0,0,14]uncertainty in x in given muon chamber
244        Double32_t     fDY[8];               //[0,0,14]uncertainty in y in given muon chamber
# Line 211 | Line 252 | namespace mithep {
252        Bool_t         fIsStandaloneMuon;    //StandaloneMuon algo flag
253        Bool_t         fIsCaloMuon;          //CaloMuon algo flag
254  
255 <    ClassDef(Muon, 2) // Muon class
255 >    ClassDef(Muon, 6) // Muon class
256    };
257   }
258  
# Line 220 | Line 261 | inline const mithep::Track *mithep::Muon
261   {
262    // Return "best" track.
263  
264 <  if (HasGlobalTrk())
224 <    return GlobalTrk();
225 <  else if (HasTrackerTrk())
264 >  if (HasTrackerTrk())
265      return TrackerTrk();
266 +  else if (HasGlobalTrk())
267 +    return GlobalTrk();
268    else if (HasStandaloneTrk())
269      return StandaloneTrk();
270  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines