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

Comparing UserCode/MitAna/DataTree/interface/Track.h (file contents):
Revision 1.42 by loizides, Mon Jul 13 11:00:32 2009 UTC vs.
Revision 1.44 by loizides, Mon Jul 20 04:57:27 2009 UTC

# Line 134 | Line 134 | namespace mithep
134          TEC9S
135        };
136  
137 <      Track() : fQOverP(0), fQOverPErr(0), fLambda(0), fLambdaErr(0),
138 <                fPhi0(0), fPhi0Err(0), fDxy(0), fDxyErr(0), fDsz(0), fDszErr(0),
139 <                fChi2(0), fNdof(0), fEtaEcal(0), fPhiEcal(0) {}
137 >      enum ETrackAlgorithm { //taken from DataFormats/TrackReco/interface/TrackBase.h
138 >        undefAlgorithm=0,
139 >        ctf=1,
140 >        rs=2,
141 >        cosmics=3,
142 >        iter0=4,
143 >        iter1=5,
144 >        iter2=6,
145 >        iter3=7,
146 >        iter4=8,
147 >        iter5=9,
148 >        iter6=10,
149 >        iter7=11,
150 >        iter8=12,
151 >        iter9=13,
152 >        iter10=14,
153 >        outInEcalSeededConv=15,
154 >        inOutEcalSeededConv=16,
155 >        nuclInter=17,
156 >        standAloneMuon=18,
157 >        globalMuon=19,
158 >        cosmicStandAloneMuon=20,
159 >        cosmicGlobalMuon=21,
160 >        iter1LargeD0=22,
161 >        iter2LargeD0=23,
162 >        iter3LargeD0=24,
163 >        iter4LargeD0=25,
164 >        iter5LargeD0=26,
165 >        bTagGhostTracks=27,
166 >        beamhalo=28,
167 >        algoSize=29
168 >      };
169 >
170 >
171 >      Track() : fAlgo(undefAlgorithm), fIsGsf(0), fQOverP(0), fQOverPErr(0),
172 >                fLambda(0), fLambdaErr(0), fPhi0(0), fPhi0Err(0),
173 >                fDxy(0), fDxyErr(0), fDsz(0), fDszErr(0), fChi2(0),
174 >                fNdof(0), fEtaEcal(0), fPhiEcal(0) {}
175        Track(Double_t qOverP, Double_t lambda, Double_t phi0, Double_t dxy, Double_t dsz) :
176 <                fQOverP(qOverP), fQOverPErr(0), fLambda(lambda), fLambdaErr(0),
177 <                fPhi0(phi0), fPhi0Err(0), fDxy(dxy), fDxyErr(0), fDsz(dsz), fDszErr(0),
178 <                fChi2(0), fNdof(0), fEtaEcal(0), fPhiEcal(0) {}
176 >                fAlgo(undefAlgorithm), fIsGsf(0), fQOverP(qOverP), fQOverPErr(0),
177 >                fLambda(lambda), fLambdaErr(0), fPhi0(phi0), fPhi0Err(0),
178 >                fDxy(dxy), fDxyErr(0), fDsz(dsz), fDszErr(0), fChi2(0),
179 >                fNdof(0), fEtaEcal(0), fPhiEcal(0) {}
180        ~Track() {}
181  
182 +      ETrackAlgorithm      Algo()           const { return fAlgo;                 }
183        Int_t                Charge()         const { return (fQOverP>0) ? 1 : -1;  }
184        Double_t             Chi2()           const { return fChi2;                 }
185        void                 ClearHit(EHitLayer l)  { fHits.ClearBit(l);            }
# Line 159 | Line 196 | namespace mithep
196        Double_t             EtaEcal()        const { return fEtaEcal;              }
197        Bool_t               Hit(EHitLayer l) const { return fHits.TestBit(l);      }
198        const BitMask48     &Hits()           const { return fHits;                 }
199 +      Bool_t               IsGsf()          const { return fIsGsf;                }
200        Double_t             Lambda()         const { return fLambda;               }
201        Double_t             LambdaErr()      const { return fLambdaErr;            }
202        const MCParticle    *MCPart()         const { return fMCParticleRef.Obj();  }
# Line 185 | Line 223 | namespace mithep
223        Double_t             Theta()          const { return (TMath::PiOver2() - fLambda);       }
224        const SuperCluster  *SCluster()       const { return fSuperClusterRef.Obj();             }
225        const BitMask48      StereoHits()     const { return (fHits & StereoLayers());           }
226 +      void                 SetAlgo(ETrackAlgorithm e)          { fAlgo = e;                    }
227        void                 SetChi2(Double_t chi2)              { fChi2 = chi2;                 }
228        void                 SetErrors(Double_t qOverPErr, Double_t lambdaErr, Double_t phi0Err,
229                                       Double_t dXyErr, Double_t dSzErr);
# Line 193 | Line 232 | namespace mithep
232                                       Double_t dXy, Double_t dSz);
233        void                 SetHit(EHitLayer l)                 { fHits.SetBit(l);              }
234        void                 SetHits(const BitMask48 &hits)      { fHits = hits;                 }
235 +      void                 SetIsGsf(Bool_t b)                  { fIsGsf = b;                   }
236        void                 SetNdof(UShort_t dof)               { fNdof = dof;                  }
237        void                 SetMCPart(const MCParticle *p)      { fMCParticleRef = p;           }
238        void                 SetPhiEcal(Double_t phi)            { fPhiEcal = phi;               }
# Line 207 | Line 247 | namespace mithep
247        void                 GetMom()      const;
248  
249        BitMask48            fHits;                //storage for mostly hit information
250 +      ETrackAlgorithm      fAlgo;                //track algorithm
251 +      Bool_t               fIsGsf;               //flag to identify gsf tracks
252        Double32_t           fQOverP;              //[0,0,14]signed inverse of momentum [1/GeV]
253        Double32_t           fQOverPErr;           //[0,0,14]error of q/p
254        Double32_t           fLambda;              //[0,0,14]pi/2 - polar angle at the reference point
# Line 226 | Line 268 | namespace mithep
268        mutable CacheFlag    fCacheMomFlag;        //||cache validity flag for momentum
269        mutable ThreeVectorC fCachedMom;           //!cached momentum vector
270                
271 <    ClassDef(Track, 1) // Track class
271 >    ClassDef(Track, 2) // Track class
272    };
273   }
274  
# Line 267 | Line 309 | inline Double_t mithep::Track::D0Correct
309   }
310  
311   //--------------------------------------------------------------------------------------------------
312 < inline
313 < void mithep::Track::SetHelix(Double_t qOverP, Double_t lambda, Double_t phi0,
272 <                             Double_t dxy, Double_t dsz)
312 > inline void mithep::Track::SetHelix(Double_t qOverP, Double_t lambda, Double_t phi0,
313 >                                    Double_t dxy, Double_t dsz)
314   {
315    // Set helix parameters.
316  
# Line 282 | Line 323 | void mithep::Track::SetHelix(Double_t qO
323   }
324  
325   //--------------------------------------------------------------------------------------------------
326 < inline
327 < void mithep::Track::SetErrors(Double_t qOverPErr, Double_t lambdaErr, Double_t phi0Err,
287 <                              Double_t dxyErr, Double_t dszErr)
326 > inline void mithep::Track::SetErrors(Double_t qOverPErr, Double_t lambdaErr, Double_t phi0Err,
327 >                                     Double_t dxyErr, Double_t dszErr)
328   {
329    // Set helix errors.
330  
# Line 296 | Line 336 | void mithep::Track::SetErrors(Double_t q
336   }
337  
338   //--------------------------------------------------------------------------------------------------
339 < inline
300 < const mithep::BitMask48 mithep::Track::StereoLayers()
339 > inline const mithep::BitMask48 mithep::Track::StereoLayers()
340   {
341    // Build and return BitMask of stereo layers.
342  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines