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
|