ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/TriggerObject.h
Revision: 1.1
Committed: Wed Sep 17 04:07:28 2008 UTC (16 years, 7 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Trigger names and objects.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: TriggerName.h,v 1.2 2008/07/08 14:41:01 loizides Exp $
3     //
4     // TriggerObject
5     //
6     // Todo
7     //
8     // Authors: C.Loizides
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITANA_DATATREE_TRIGGEROBJECT_H
12     #define MITANA_DATATREE_TRIGGEROBJECT_H
13    
14     #include "MitAna/DataTree/interface/Particle.h"
15    
16     namespace mithep
17     {
18     class TriggerObjectBase : public Particle
19     {
20     public:
21     TriggerObjectBase() {}
22     TriggerObjectBase(const FourVectorM32 &mom) : fMom(mom) {}
23     TriggerObjectBase(Double_t pt, Double_t eta, Double_t phi, Double_t mass) :
24     fMom(pt,eta,phi,mass) {}
25     ~TriggerObjectBase() {}
26    
27     Double_t Charge() const { return 0.; }
28     FourVector Mom() const { return FourVector(fMom.Px(),fMom.Py(),
29     fMom.Pz(),fMom.E()); }
30    
31     protected:
32     FourVectorM32 fMom; //object momentum
33    
34     ClassDef(TriggerObjectBase, 1) // Trigger object base class
35     };
36    
37     class TriggerObjectRel : public DataObject
38     {
39     public:
40     TriggerObjectRel() : fId(0), fType(0), fModInd(0), fFilterInd(0) {}
41     TriggerObjectRel(UChar_t id, UChar_t type, Short_t mod, Short_t fil) :
42     fId(id), fType(type), fModInd(mod), fFilterInd(fil) {}
43     ~TriggerObjectRel() {}
44    
45     UChar_t Id() const { return fId; }
46     UChar_t Type() const { return fType; }
47     UShort_t ModInd() const { return fModInd; }
48     UShort_t FilterInd() const { return fFilterInd; }
49    
50     protected:
51     UChar_t fId; //trigger id
52     UChar_t fType; //object type
53     Short_t fModInd; //module label index
54     Short_t fFilterInd; //filter label index
55    
56     ClassDef(TriggerObjectRel, 1) // Trigger to trigger object relation class
57     };
58    
59     class TriggerObject : public TriggerObjectBase
60     {
61     public:
62     enum ETriggerObject { // see DataFormats/HLTReco/interface/TriggerTypeDefs.h
63     None = 0,
64     TriggerL1Mu = 81,
65     TriggerL1NoIsoEG = 82,
66     TriggerL1IsoEG = 83,
67     TriggerL1CenJet = 84,
68     TriggerL1ForJet = 85,
69     TriggerL1TauJet = 86,
70     TriggerL1ETM = 87,
71     TriggerL1ETT = 88,
72     TriggerL1HTT = 89,
73     TriggerL1JetCounts = 90,
74     TriggerPhoton = 91,
75     TriggerElectron = 92,
76     TriggerMuon = 93,
77     TriggerTau = 94,
78     TriggerJet = 95,
79     TriggerBJet = 96,
80     TriggerMET = 97,
81     TriggerHT = 98,
82     TriggerTrack = 99,
83     TriggerCluster = 100
84     };
85    
86     TriggerObject() : fId(0), fType(None) {}
87     TriggerObject(UShort_t id, ETriggerObject type, const FourVectorM32 &mom) :
88     TriggerObjectBase(mom), fId(id), fType(type) {}
89     TriggerObject(UShort_t id, ETriggerObject type,
90     Double_t pt, Double_t eta, Double_t phi, Double_t mass) :
91     TriggerObjectBase(pt,eta,phi,mass), fId(id), fType(type) {}
92    
93     ~TriggerObject() {}
94    
95     UShort_t Id() const { return fId; }
96     ETriggerObject Type() const { return fType; }
97    
98     protected:
99     UChar_t fId; //trigger id
100     ETriggerObject fType; //object type
101    
102     ClassDef(TriggerObject, 1) // Trigger object class
103     };
104     }
105     #endif