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.39 by ceballos, Fri Jun 18 06:10:04 2010 UTC vs.
Revision 1.47 by paus, Thu Mar 29 23:41:55 2012 UTC

# Line 15 | Line 15
15   //  is subsequently returned. To consult more see:
16   //  http://cmsdoc.cern.ch/cms/Physics/muon/MPOG/Notes/MuonReco.pdf
17   //
18 < // Quality Varaibles for Selection
18 > // Quality Variables for Selection
19   //  Isolation : decomposed to IsoRNNXXXXX
20   //    NN = 03,05 to denote R =0.3,0.5 in Isolation Cone
21   //    XXXXX = SumPt - Sum of Pt of Tracks in Cone (using all Pt Tracks)
# Line 43 | Line 43
43   //    to propagated track
44   //   NSegments : Number of segments in muon using Segment+Track Arbitration
45   //   NChambers : Number of muon chambers traversed in propagated track
46 + //   NMatches  : Number of muon chambers with matches
47   //   LastHit   : Returns farest (from center) station with a recorded segment
48   //   LastStation  : Returns farest station using Segment+Track Arbitration
49   //
# Line 93 | Line 94 | namespace mithep {
94        Double_t       Ip3dPVBS()                      const { return fIp3dPVBS;                 }
95        Double_t       Ip3dPVBSErr()                   const { return fIp3dPVBSErr;              }
96        Double_t       Ip3dPVBSSignificance()          const { return fIp3dPVBS/fIp3dPVBSErr;    }
97 +      Double_t       D0PVUB()                        const { return fD0PVUB;                   }
98 +      Double_t       D0PVUBErr()                     const { return fD0PVUBErr;                }
99 +      Double_t       D0PVUBSignificance()            const { return fD0PVUB/fD0PVUBErr;        }
100 +      Double_t       Ip3dPVUB()                      const { return fIp3dPVUB;                 }
101 +      Double_t       Ip3dPVUBErr()                   const { return fIp3dPVUBErr;              }
102 +      Double_t       Ip3dPVUBSignificance()          const { return fIp3dPVUB/fIp3dPVUBErr;    }
103 +      Double_t       D0PVUBBS()                      const { return fD0PVUBBS;                 }
104 +      Double_t       D0PVUBBSErr()                   const { return fD0PVUBBSErr;              }
105 +      Double_t       D0PVUBBSSignificance()          const { return fD0PVUBBS/fD0PVUBBSErr;    }
106 +      Double_t       Ip3dPVUBBS()                    const { return fIp3dPVUBBS;               }
107 +      Double_t       Ip3dPVUBBSErr()                 const { return fIp3dPVUBBSErr;            }
108 +      Double_t       Ip3dPVUBBSSignificance()        const { return fIp3dPVUBBS/fIp3dPVUBBSErr;}
109        Double_t       PVCompatibility()               const { return fPVCompatibility;          }
110        Double_t       PVBSCompatibility()             const { return fPVBSCompatibility;        }
111 +      Double_t       TrkKink()                       const { return fTrkKink;                  }
112 +      Double_t       GlbKink()                       const { return fGlbKink;                  }
113        Double_t       EmEnergy()                      const { return fEmEnergy;                 }
114        Double_t       EmS9Energy()                    const { return fEmS9Energy;               }
115        Double_t       GetDX(Int_t iStation)           const;
# Line 133 | Line 148 | namespace mithep {
148        UInt_t         NValidHits()                    const { return fNValidHits;               }
149        UInt_t         NChambers()                     const { return fNTraversedChambers;       }
150        UInt_t         NSegments()                     const { return fStationMask.NBitsSet();   }
151 +      UInt_t         NMatches()                      const { return fNMatches;                 }
152        Int_t          LastHit()                       const;
153        Int_t          LastStation(Double_t iMaxD, Double_t iMaxP)               const;
154        Int_t          LastStation(Int_t iMax=8)       const;
# Line 164 | Line 180 | namespace mithep {
180        void           SetD0PVBSErr(Double_t x)              { fD0PVBSErr = x;                   }
181        void           SetIp3dPVBS(Double_t x)               { fIp3dPVBS = x;                    }
182        void           SetIp3dPVBSErr(Double_t x)            { fIp3dPVBSErr = x;                 }
183 +      void           SetD0PVUB(Double_t x)                 { fD0PVUB = x;                      }
184 +      void           SetD0PVUBErr(Double_t x)              { fD0PVUBErr = x;                   }
185 +      void           SetIp3dPVUB(Double_t x)               { fIp3dPVUB = x;                    }
186 +      void           SetIp3dPVUBErr(Double_t x)            { fIp3dPVUBErr = x;                 }
187 +      void           SetD0PVUBBS(Double_t x)               { fD0PVUBBS = x;                    }
188 +      void           SetD0PVUBBSErr(Double_t x)            { fD0PVUBBSErr = x;                 }
189 +      void           SetIp3dPVUBBS(Double_t x)             { fIp3dPVUBBS = x;                  }
190 +      void           SetIp3dPVUBBSErr(Double_t x)          { fIp3dPVUBBSErr = x;               }
191        void           SetPVCompatibility(Double_t x)        { fPVCompatibility = x;             }
192        void           SetPVBSCompatibility(Double_t x)      { fPVBSCompatibility = x;           }
193 <      void           SetEmEnergy(Double_t EmEnergy)        { fEmEnergy = EmEnergy;             }
194 <      void           SetEmS9Energy(Double_t EmS9Energy)    { fEmS9Energy = EmS9Energy;         }
195 <      void           SetHadEnergy(Double_t HadEnergy)      { fHadEnergy = HadEnergy;           }
196 <      void           SetHadS9Energy(Double_t HadS9Energy)  { fHadS9Energy = HadS9Energy;       }
197 <      void           SetHoEnergy(Double_t HoEnergy)        { fHoEnergy = HoEnergy;             }
198 <      void           SetHoS9Energy(Double_t HoS9Energy)    { fHoS9Energy = HoS9Energy;         }
193 >      void           SetTrkKink(Double_t x)                { fTrkKink = x;                     }
194 >      void           SetGlbKink(Double_t x)                { fGlbKink = x;                     }
195 >      void           SetEmEnergy(Double_t emEnergy)        { fEmEnergy = emEnergy;             }
196 >      void           SetEmS9Energy(Double_t emS9Energy)    { fEmS9Energy = emS9Energy;         }
197 >      void           SetHadEnergy(Double_t hadEnergy)      { fHadEnergy = hadEnergy;           }
198 >      void           SetHadS9Energy(Double_t hadS9Energy)  { fHadS9Energy = hadS9Energy;       }
199 >      void           SetHoEnergy(Double_t hoEnergy)        { fHoEnergy = hoEnergy;             }
200 >      void           SetHoS9Energy(Double_t hoS9Energy)    { fHoS9Energy = hoS9Energy;         }
201        void           SetIsGlobalMuon(Bool_t b)             { fIsGlobalMuon = b;                }
202        void           SetIsTrackerMuon(Bool_t b)            { fIsTrackerMuon = b;               }
203        void           SetIsStandaloneMuon(Bool_t b)         { fIsStandaloneMuon = b;            }
# Line 190 | Line 216 | namespace mithep {
216        void           SetIsoR05NJets(UShort_t isoR05NJets)  { fIsoR05NJets = isoR05NJets;       }
217        void           SetNValidHits(UShort_t iNValidHits)   { fNValidHits  = iNValidHits;       }
218        void           SetNChambers(UShort_t iNTraCh)        { fNTraversedChambers = iNTraCh;    }
219 <      void           SetNSegments(Int_t iStation, Int_t NSegments);
219 >      void           SetNSegments(Int_t iStation, Int_t nSegments);
220 >      void           SetNMatches(UShort_t iNMatCh)         { fNMatches = iNMatCh;              }
221        void           SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi);
222        void           SetPullX(Int_t iStation, Double_t iPullX);
223        void           SetPullY(Int_t iStation, Double_t iPullY);
# Line 198 | Line 225 | namespace mithep {
225        void           SetTrackDist(Int_t iStation, Double_t iDist);
226        void           SetTrackDistErr(Int_t iStation, Double_t iDistErr);
227  
228 +      // Some structural tools
229 +      void           Mark(UInt_t i=1)                const;
230 +
231      protected:
232        Double_t       GetCharge()                     const;
233        Double_t       GetMass()                       const { return 105.658369e-3;             }  
# Line 235 | Line 265 | namespace mithep {
265        Double32_t     fIp3dPVBS;            //[0,0,14]3d impact parameter to signal PV w/ bs constraint
266        Double32_t     fIp3dPVBSErr;         //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint
267        Double32_t     fPVCompatibility;     //[0,0,14]chi^2 compatibility with signal PV (ndof=2)
268 <      Double32_t     fPVBSCompatibility;   //[0,0,14]chi^2 compatibility with signal PV w/ bs constraint (ndof=2)
268 >      Double32_t     fPVBSCompatibility;   //[0,0,14]chi^2 compatibility with signal PV w/ bs constraint (ndof=2)      
269 >      Double32_t     fD0PVUB;              //[0,0,14]transverse impact parameter to signal PVUB (unbiased primary vertex - refit removing lepton track)
270 >      Double32_t     fD0PVUBErr;           //[0,0,14]transverse impact parameter uncertainty to signal PVUB
271 >      Double32_t     fIp3dPVUB;            //[0,0,14]3d impact parameter to signal PVUB
272 >      Double32_t     fIp3dPVUBErr;         //[0,0,14]3d impact parameter uncertainty to signal PVUB
273 >      Double32_t     fD0PVUBBS;            //[0,0,14]transverse impact parameter to signal PVUB w/ bs constraint
274 >      Double32_t     fD0PVUBBSErr;         //[0,0,14]transverse impact parameter uncertainty to signal PVUB w/ bs constraint
275 >      Double32_t     fIp3dPVUBBS;          //[0,0,14]3d impact parameter to signal PVUB w/ bs constraint
276 >      Double32_t     fIp3dPVUBBSErr;       //[0,0,14]3d impact parameter uncertainty to signal PVUB w/ bs constraint
277 >      Double32_t     fTrkKink;             //[0,0,14]kink algorithm output (tracker track)
278 >      Double32_t     fGlbKink;             //[0,0,14]kink algorithm output (global track)
279        UShort_t       fNValidHits;          //number of Valid hits in global fit
280        UShort_t       fNTraversedChambers;  //number of traversed chambers
281 +      UShort_t       fNMatches;            //number of muon chambers with matches
282        MuonQuality    fQuality;             //muon quality
283        BitMask8       fStationMask;         //bitmap of station with tracks, 0-3 DT, 4-7 CSCs
284        Double32_t     fDX[8];               //[0,0,14]uncertainty in x in given muon chamber
# Line 252 | Line 293 | namespace mithep {
293        Bool_t         fIsStandaloneMuon;    //StandaloneMuon algo flag
294        Bool_t         fIsCaloMuon;          //CaloMuon algo flag
295  
296 <    ClassDef(Muon, 6) // Muon class
296 >    ClassDef(Muon, 8) // Muon class
297    };
298   }
299  
300   //--------------------------------------------------------------------------------------------------
301 + inline void mithep::Muon::Mark(UInt_t ib) const
302 + {
303 +  // mark myself
304 +  mithep::DataObject::Mark(ib);
305 +  // mark my dependencies if they are there
306 +  if (fGlobalTrkRef.IsValid())
307 +    fGlobalTrkRef.Obj()->Mark(ib);
308 +  if (fStaTrkRef.IsValid())
309 +    fStaTrkRef.Obj()->Mark(ib);
310 +  if (fTrkTrkRef.IsValid())
311 +    fTrkTrkRef.Obj()->Mark(ib);
312 + }
313 +
314 + //--------------------------------------------------------------------------------------------------
315   inline const mithep::Track *mithep::Muon::BestTrk() const
316   {
317    // Return "best" track.
# Line 282 | Line 337 | inline Double_t mithep::Muon::GetCharge(
337      return mithep::ChargedParticle::GetCharge();
338    else
339      return fCharge;
285
340   }
341  
342   //--------------------------------------------------------------------------------------------------
# Line 294 | Line 348 | inline void mithep::Muon::GetMom() const
348    // If momentum is unfilled, fall back to old method of getting momentum from best track
349    // (for backwards compatibility.)
350    
351 <  if (fMom.Rho()>0.0) {
351 >  if (fMom.Rho()>0.0)
352      fCachedMom.SetCoordinates(fMom.Rho(),fMom.Eta(),fMom.Phi(),GetMass());
353 <  }
300 <  else {
353 >  else
354      mithep::ChargedParticle::GetMom();
302  }
303  
355   }
356  
357   //--------------------------------------------------------------------------------------------------
# Line 615 | Line 666 | inline void mithep::Muon::SetTrackDistEr
666   }
667  
668   //--------------------------------------------------------------------------------------------------
669 < inline void mithep::Muon::SetNSegments(Int_t iStation, Int_t NSegments)
669 > inline void mithep::Muon::SetNSegments(Int_t iStation, Int_t nSegments)
670   {
671    // Set number of segments in chamber.
672  
673    assert(iStation >= 0 && iStation < 8);
674 <  fNSegments[iStation] = NSegments;
674 >  fNSegments[iStation] = nSegments;
675   }
676  
677   //-------------------------------------------------------------------------------------------------
# Line 632 | Line 683 | inline void mithep::Muon::SetPtEtaPhi(Do
683    ClearMom();
684   }
685   #endif
635
636
637
638
639

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines