ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronTools.h
Revision: 1.4
Committed: Thu May 27 07:59:13 2010 UTC (14 years, 11 months ago) by ceballos
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_014pre3
Changes since 1.3: +4 -1 lines
Log Message:
updates on electrons and muons

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