ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronTools.h
Revision: 1.1
Committed: Sat Apr 10 18:06:51 2010 UTC (15 years ago) by sixie
Content type: text/plain
Branch: MAIN
Log Message:
Add a helper class for electron ID.

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 "MitCommon/MathTools/interface/MathUtils.h"
18
19 namespace mithep {
20 class ElectronTools {
21 public:
22 ElectronTools();
23
24 enum EElIdType {
25 kIdUndef = 0, //not defined
26 kTight, //"Tight"
27 kLoose, //"Loose"
28 kLikelihood, //"Likelihood"
29 kNoId, //"NoId"
30 kZeeId, //"ZeeId"
31 kCustomIdLoose, //"CustomLoose"
32 kCustomIdTight, //"CustomTight"
33 kVBTFWorkingPoint95Id,
34 kVBTFWorkingPoint90Id,
35 kVBTFWorkingPoint80Id,
36 kVBTFWorkingPoint70Id
37 };
38
39 enum EElIsoType {
40 kIsoUndef = 0, //not defined
41 kTrackCalo, //"TrackCalo"
42 kTrackJura, //"TrackJura"
43 kTrackJuraCombined, //"TrackJuraCombined"
44 kTrackJuraSliding, //"TrackJuraSliding"
45 kNoIso, //"NoIso"
46 kZeeIso, //"ZeeIso"
47 kCustomIso, //"Custom"
48 kVBTFWorkingPoint95Iso,
49 kVBTFWorkingPoint90Iso,
50 kVBTFWorkingPoint80Iso,
51 kVBTFWorkingPoint70Iso
52 };
53
54 static Bool_t PassChargeFilter(const Electron *el);
55 static Bool_t PassConversionFilter(const Electron *el, const DecayParticleCol *conversions,
56 Bool_t WrongHitsRequirement );
57 static Bool_t PassCustomID(const Electron *el, EElIdType idType);
58 static Bool_t PassCustomIso(const Electron *el, EElIsoType isoType);
59 static Bool_t PassD0Cut(const Electron *el, const VertexCol *vertices,
60 Double_t fD0Cut, Bool_t fReverseD0Cut);
61 static Bool_t PassSpikeRemovalFilter(const Electron *ele);
62
63
64 ClassDef(ElectronTools, 0) // Muon tools
65 };
66 }
67
68 #endif