ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronTools.h
Revision: 1.5
Committed: Sat May 29 11:56:17 2010 UTC (14 years, 11 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: 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
Changes since 1.4: +2 -0 lines
Log Message:
Add trigger matching (disabled by default) to ElectronID

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id $
3 //
4 // ElectronTools
5 //
6 // Helper Class for electron Identification decisions.
7 //
8 // Authors: S.Xie
9 //--------------------------------------------------------------------------------------------------
10
11 #ifndef MITPHYSICS_UTILS_ELECTRONTOOLS_H
12 #define MITPHYSICS_UTILS_ELECTRONTOOLS_H
13
14 #include "MitAna/DataTree/interface/Electron.h"
15 #include "MitAna/DataTree/interface/DecayParticleCol.h"
16 #include "MitAna/DataTree/interface/VertexCol.h"
17 #include "MitAna/DataTree/interface/BeamSpotCol.h"
18 #include "MitAna/DataTree/interface/TriggerObjectCol.h"
19 #include "MitCommon/MathTools/interface/MathUtils.h"
20
21 namespace mithep {
22 class ElectronTools {
23 public:
24 ElectronTools();
25
26 enum EElIdType {
27 kIdUndef = 0, //not defined
28 kTight, //"Tight"
29 kLoose, //"Loose"
30 kLikelihood, //"Likelihood"
31 kNoId, //"NoId"
32 kZeeId, //"ZeeId"
33 kCustomIdLoose, //"CustomLoose"
34 kCustomIdTight, //"CustomTight"
35 kVBTFWorkingPoint95Id,
36 kVBTFWorkingPoint90Id,
37 kVBTFWorkingPoint85Id,
38 kVBTFWorkingPoint80Id,
39 kVBTFWorkingPoint70Id
40 };
41
42 enum EElIsoType {
43 kIsoUndef = 0, //not defined
44 kTrackCalo, //"TrackCalo"
45 kTrackJura, //"TrackJura"
46 kTrackJuraCombined, //"TrackJuraCombined"
47 kTrackJuraSliding, //"TrackJuraSliding"
48 kNoIso, //"NoIso"
49 kZeeIso, //"ZeeIso"
50 kCustomIso, //"Custom"
51 kVBTFWorkingPoint95Iso,
52 kVBTFWorkingPoint90Iso,
53 kVBTFWorkingPoint85Iso,
54 kVBTFWorkingPoint80Iso,
55 kVBTFWorkingPoint70Iso
56 };
57
58 static Bool_t PassChargeFilter(const Electron *el);
59 static Bool_t PassConversionFilter(const Electron *el, const DecayParticleCol *conversions,
60 Bool_t WrongHitsRequirement );
61 static Bool_t PassCustomID(const Electron *el, EElIdType idType);
62 static Bool_t PassCustomIso(const Electron *el, EElIsoType isoType,
63 Bool_t useCombineIso = kTRUE);
64 static Bool_t PassD0Cut(const Electron *el, const VertexCol *vertices,
65 Double_t fD0Cut, Bool_t fReverseD0Cut);
66 static Bool_t PassD0Cut(const Electron *el, const BeamSpotCol *beamspots,
67 Double_t fD0Cut, Bool_t fReverseD0Cut);
68 static Bool_t PassSpikeRemovalFilter(const Electron *ele);
69 static Bool_t PassTriggerMatching(const Electron *ele, const TriggerObjectCol *trigobjs);
70 static Int_t Classify(const Electron *ele);
71 static Int_t PassTightId(const Electron *ele, const VertexCol *vertices,
72 const DecayParticleCol *conversions, const Int_t typeCuts);
73
74 ClassDef(ElectronTools, 0) // Muon tools
75 };
76 }
77
78 #endif