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. |
# | User | Rev | Content |
---|---|---|---|
1 | bendavid | 1.1 | //-------------------------------------------------------------------------------------------------- |
2 | loizides | 1.15 | // $Id: Conversion.h,v 1.14 2009/03/18 15:25:48 loizides Exp $ |
3 | bendavid | 1.1 | // |
4 | loizides | 1.2 | // Conversion |
5 | bendavid | 1.1 | // |
6 | loizides | 1.15 | // This class holds information about reconstructed conversions from CMSSW. |
7 | bendavid | 1.1 | // |
8 | loizides | 1.2 | // Authors: J.Bendavid |
9 | bendavid | 1.1 | //-------------------------------------------------------------------------------------------------- |
10 | |||
11 | loizides | 1.8 | #ifndef MITANA_DATATREE_CONVERSION_H |
12 | #define MITANA_DATATREE_CONVERSION_H | ||
13 | bendavid | 1.1 | |
14 | loizides | 1.15 | #include "MitCommon/DataFormats/interface/Vect3C.h" |
15 | #include "MitCommon/DataFormats/interface/Vect4M.h" | ||
16 | bendavid | 1.1 | #include "MitAna/DataTree/interface/CompositeParticle.h" |
17 | bendavid | 1.9 | #include "MitAna/DataTree/interface/Vertex.h" |
18 | bendavid | 1.1 | #include "MitAna/DataTree/interface/Electron.h" |
19 | |||
20 | namespace mithep | ||
21 | { | ||
22 | class Conversion : public CompositeParticle | ||
23 | { | ||
24 | public: | ||
25 | loizides | 1.12 | 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 | loizides | 1.2 | Conversion(Double_t x, Double_t y, Double_t z, Double_t xErr, Double_t yErr, Double_t zErr) : |
29 | loizides | 1.12 | fVertex(x,y,z,xErr,yErr,zErr) ,fDCotTheta(0), fEOverP(0), fPairMass(0) {} |
30 | loizides | 1.14 | Conversion(const Vertex &v) : |
31 | loizides | 1.15 | fVertex(v) ,fDCotTheta(0), fEOverP(0), fPairMass(0) {} |
32 | bendavid | 1.1 | |
33 | loizides | 1.15 | 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 | bendavid | 1.1 | |
45 | protected: | ||
46 | loizides | 1.15 | 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 | bendavid | 1.1 | |
52 | loizides | 1.2 | ClassDef(Conversion,1) // Conversion class |
53 | bendavid | 1.1 | }; |
54 | } | ||
55 | |||
56 | //-------------------------------------------------------------------------------------------------- | ||
57 | loizides | 1.6 | inline const mithep::Electron *mithep::Conversion::Daughter(UInt_t i) const |
58 | bendavid | 1.1 | { |
59 | // Return reference to electron daughters. | ||
60 | |||
61 | return static_cast<const mithep::Electron*>(fDaughters.At(i)); | ||
62 | } | ||
63 | bendavid | 1.3 | |
64 | //-------------------------------------------------------------------------------------------------- | ||
65 | inline void mithep::Conversion::SetPairMomentum(Double_t px, Double_t py, Double_t pz) | ||
66 | { | ||
67 | loizides | 1.4 | // Set pair momentum. |
68 | |||
69 | bendavid | 1.13 | fPairMomentum.SetXYZ(px,py,pz); |
70 | ClearMom(); | ||
71 | bendavid | 1.3 | } |
72 | bendavid | 1.1 | #endif |