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 { |
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" |
43 |
> |
kIsoUndef = 0, //"not defined" |
44 |
> |
kTrackCalo, //"TrackCalo" |
45 |
> |
kTrackJura, //"TrackJura" |
46 |
> |
kTrackJuraCombined, //"TrackJuraCombined" |
47 |
> |
kTrackJuraSliding, //"TrackJuraSliding" |
48 |
> |
kTrackJuraSlidingNoCorrection, //"TrackJuraSlidingNoCorrection" |
49 |
> |
kNoIso, //"NoIso" |
50 |
> |
kPFIso, //"PFIso" |
51 |
> |
kPFIsoNoL, //"PFIsoNoL" |
52 |
> |
kZeeIso, //"ZeeIso" |
53 |
> |
kCustomIso, //"Custom" |
54 |
|
kVBTFWorkingPoint95Iso, |
55 |
|
kVBTFWorkingPoint90Iso, |
56 |
|
kVBTFWorkingPoint85Iso, |
60 |
|
|
61 |
|
static Bool_t PassChargeFilter(const Electron *el); |
62 |
|
static Bool_t PassConversionFilter(const Electron *el, const DecayParticleCol *conversions, |
63 |
< |
Bool_t WrongHitsRequirement ); |
63 |
> |
const BaseVertex *vtx, UInt_t nWrongHitsMax=1, Double_t probMin=1e-6, |
64 |
> |
Double_t lxyMin = 2.0, Bool_t matchCkf = kFALSE, Bool_t requireArbitratedMerged = kTRUE); |
65 |
|
static Bool_t PassCustomID(const Electron *el, EElIdType idType); |
66 |
|
static Bool_t PassCustomIso(const Electron *el, EElIsoType isoType, |
67 |
|
Bool_t useCombineIso = kTRUE); |
68 |
< |
static Bool_t PassD0Cut(const Electron *el, const VertexCol *vertices, |
69 |
< |
Double_t fD0Cut, Bool_t fReverseD0Cut); |
65 |
< |
static Bool_t PassD0Cut(const Electron *el, const BeamSpotCol *beamspots, |
66 |
< |
Double_t fD0Cut, Bool_t fReverseD0Cut); |
68 |
> |
static Bool_t PassD0Cut(const Electron *el, const VertexCol *vertices, Double_t fD0Cut); |
69 |
> |
static Bool_t PassD0Cut(const Electron *el, const BeamSpotCol *beamspots, Double_t fD0Cut); |
70 |
|
static Bool_t PassSpikeRemovalFilter(const Electron *ele); |
71 |
+ |
static Bool_t PassTriggerMatching(const Electron *ele, const TriggerObjectCol *trigobjs); |
72 |
|
static Int_t Classify(const Electron *ele); |
73 |
|
static Int_t PassTightId(const Electron *ele, const VertexCol *vertices, |
74 |
< |
const DecayParticleCol *conversions, const Int_t typeCuts); |
74 |
> |
const DecayParticleCol *conversions, const Int_t typeCuts, |
75 |
> |
Double_t beta = 1.0); |
76 |
> |
static bool compute_cut(double x, double et, double cut_min, double cut_max, bool gtn=false); |
77 |
|
|
78 |
|
ClassDef(ElectronTools, 0) // Muon tools |
79 |
|
}; |