10 const std::vector<double>& Cuts )
12 std::vector<reco::GsfElectronRef> ChosenOnes;
18 edm::LogDebug_(
"electronSelector",
"", 16)<<
"Number of electrons to select from = "<< electrons.size();
19 for(std::vector<reco::GsfElectronRef>::const_iterator Relec = electrons.begin(); Relec != electrons.end(); ++Relec)
22 edm::LogDebug_(
"electronSelector",
"", 17) <<
"Analysing elec, id = "<< elec.
id() <<
"\tkey = "<< elec.
key();
23 double scEta = elec->superCluster()->eta();
24 if(fabs(scEta) < 1.4442 || fabs(scEta) > 1.56)
26 bool HLTMatch =
false;
27 for(
unsigned int k = 0;
k < ring.size(); ++
k)
32 edm::LogDebug_(
"electronSelector",
"", 16) <<
"HLT Match = "<<HLTMatch;
33 std::cout <<
"HLT Match = " << HLTMatch << std::endl;
37 if(fabs(scEta) < 1.479)
39 float sIhIh = elec->scSigmaIEtaIEta();
41 <<
"\tCut Value = "<< Cuts[1];
44 edm::LogDebug_(
"elecSel",
"",39)<<
"dEta = "<< elec->deltaEtaSuperClusterTrackAtVtx()
45 <<
"\tCut Value = "<< Cuts[2];
46 if(fabs(elec->deltaEtaSuperClusterTrackAtVtx()) < Cuts[2])
48 edm::LogDebug_(
"elecSel",
"",39)<<
"dPhi = "<< elec->deltaPhiSuperClusterTrackAtVtx()
49 <<
"\tCut Value = "<< Cuts[3];
50 if(fabs(elec->deltaPhiSuperClusterTrackAtVtx()) < Cuts[3])
52 float trckiso = elec->isolationVariables03().tkSumPt;
54 <<
"\tCut Value = "<< Cuts[4];
57 float ecaliso = elec->isolationVariables04().ecalRecHitSumEt;
59 <<
"\tCut Value = "<< Cuts[5];
62 float hcaliso = elec->isolationVariables04().hcalDepth1TowerSumEt
63 + elec->isolationVariables04().hcalDepth2TowerSumEt;
65 <<
"\tCut Value = "<< Cuts[6];
66 if(hcaliso < Cuts[6]) ChosenOnes.push_back(elec);
73 float sIhIh = elec->scSigmaIEtaIEta();
75 <<
"\tCut Value = "<< Cuts[7];
78 edm::LogDebug_(
"elecSel",
"",39)<<
"dEta = "<< elec->deltaEtaSuperClusterTrackAtVtx()
79 <<
"\tCut Value = "<< Cuts[8];
80 if(fabs(elec->deltaEtaSuperClusterTrackAtVtx()) < Cuts[8])
82 edm::LogDebug_(
"elecSel",
"",39)<<
"dPhi = "<< elec->deltaPhiSuperClusterTrackAtVtx()
83 <<
"\tCut Value = "<< Cuts[9];
84 if(fabs(elec->deltaPhiSuperClusterTrackAtVtx()) < Cuts[9])
86 float trckiso = elec->isolationVariables03().tkSumPt;
88 <<
"\tCut Value = "<< Cuts[10];
89 if(trckiso < Cuts[10])
91 float ecaliso = elec->isolationVariables04().ecalRecHitSumEt;
93 <<
"\tCut Value = "<< Cuts[11];
94 if(ecaliso < Cuts[11])
96 float hcaliso = elec->isolationVariables04().hcalDepth1TowerSumEt
97 + elec->isolationVariables04().hcalDepth2TowerSumEt;
99 <<
"\tCut Value = "<< Cuts[12];
100 if(hcaliso < Cuts[12]) ChosenOnes.push_back(elec);
std::vector< reco::GsfElectronRef > electronSelector(const std::vector< reco::GsfElectronRef > &electrons, const edm::Handle< trigger::TriggerEvent > &pHLT, const int filterId, const std::vector< double > &Cuts)
const Keys & filterKeys(trigger::size_type index) const
key_type key() const
Accessor for product key.
ProductID id() const
Accessor for product ID.
Single trigger physics object (e.g., an isolated muon)
const TriggerObjectCollection & getObjects() const
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
std::vector< size_type > Keys