Revision: | 1.15 |
Committed: | Wed Mar 18 15:44:32 2009 UTC (16 years, 1 month ago) by loizides |
Content type: | text/plain |
Branch: | MAIN |
CVS Tags: | Mit_025c_branch2, Mit_025c_branch1, Mit_025c_branch0, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, Mit_014, Mit_014pre3, Mit_014pre2, Mit_014pre1, Mit_013d, Mit_013c, Mit_013b, Mit_013a, Mit_013, Mit_013pre1, Mit_012i, Mit_012h, Mit_012g, Mit_012f, Mit_012e, Mit_012d, Mit_012c, Mit_012b, Mit_012a, Mit_012, Mit_011a, Mit_011, Mit_010a, Mit_010, Mit_009c, Mit_009b, Mit_009a, Mit_009, Mit_008 |
Branch point for: | Mit_025c_branch |
Changes since 1.14: | +21 -20 lines |
Log Message: | Introduced Double32_t [0,0,14] consistently. Updated class descriptions. |
# | Content |
---|---|
1 | //-------------------------------------------------------------------------------------------------- |
2 | // $Id: Conversion.h,v 1.14 2009/03/18 15:25:48 loizides Exp $ |
3 | // |
4 | // Conversion |
5 | // |
6 | // This class holds information about reconstructed conversions from CMSSW. |
7 | // |
8 | // Authors: J.Bendavid |
9 | //-------------------------------------------------------------------------------------------------- |
10 | |
11 | #ifndef MITANA_DATATREE_CONVERSION_H |
12 | #define MITANA_DATATREE_CONVERSION_H |
13 | |
14 | #include "MitCommon/DataFormats/interface/Vect3C.h" |
15 | #include "MitCommon/DataFormats/interface/Vect4M.h" |
16 | #include "MitAna/DataTree/interface/CompositeParticle.h" |
17 | #include "MitAna/DataTree/interface/Vertex.h" |
18 | #include "MitAna/DataTree/interface/Electron.h" |
19 | |
20 | namespace mithep |
21 | { |
22 | class Conversion : public CompositeParticle |
23 | { |
24 | public: |
25 | Conversion() : fDCotTheta(0), fEOverP(0), fPairMass(0) {} |
26 | Conversion(Double_t x, Double_t y, Double_t z) : |
27 | fVertex(x,y,z), fDCotTheta(0), fEOverP(0), fPairMass(0) {} |
28 | Conversion(Double_t x, Double_t y, Double_t z, Double_t xErr, Double_t yErr, Double_t zErr) : |
29 | fVertex(x,y,z,xErr,yErr,zErr) ,fDCotTheta(0), fEOverP(0), fPairMass(0) {} |
30 | Conversion(const Vertex &v) : |
31 | fVertex(v) ,fDCotTheta(0), fEOverP(0), fPairMass(0) {} |
32 | |
33 | const Electron *Daughter(UInt_t i) const; |
34 | Double_t DCotTheta() const { return fDCotTheta; } |
35 | Double_t EOverP() const { return fEOverP; } |
36 | Double_t PairMass() const { return fPairMass; } |
37 | const ThreeVector &PairMomentum() const { return fPairMomentum; } |
38 | const Vertex &DecayVertex() const { return fVertex; } |
39 | EObjType ObjType() const { return kConversion; } |
40 | void SetDCotTheta(Double_t dCotTh) { fDCotTheta = dCotTh; } |
41 | void SetEOverP(Double_t eOverP) { fEOverP = eOverP; } |
42 | void SetPairMass(Double_t pairMass) { fPairMass = pairMass; } |
43 | void SetPairMomentum(Double_t px, Double_t py, Double_t pz); |
44 | |
45 | protected: |
46 | Vertex fVertex; //reconstructed decay vertex |
47 | ThreeVector32 fPairMomentum; //momentum of tracks at conversion point |
48 | Double32_t fDCotTheta; //[0,0,14]delta cot theta wrt tracks at conversion point |
49 | Double32_t fEOverP; //[0,0,14]energy over momentum of conversion tracks |
50 | Double32_t fPairMass; //[0,0,14]mass of electron-positron pair at conversion |
51 | |
52 | ClassDef(Conversion,1) // Conversion class |
53 | }; |
54 | } |
55 | |
56 | //-------------------------------------------------------------------------------------------------- |
57 | inline const mithep::Electron *mithep::Conversion::Daughter(UInt_t i) const |
58 | { |
59 | // Return reference to electron daughters. |
60 | |
61 | return static_cast<const mithep::Electron*>(fDaughters.At(i)); |
62 | } |
63 | |
64 | //-------------------------------------------------------------------------------------------------- |
65 | inline void mithep::Conversion::SetPairMomentum(Double_t px, Double_t py, Double_t pz) |
66 | { |
67 | // Set pair momentum. |
68 | |
69 | fPairMomentum.SetXYZ(px,py,pz); |
70 | ClearMom(); |
71 | } |
72 | #endif |