3 const std::vector<double>& Cuts )
5 std::vector<reco::GsfElectronRef> ChosenOnes;
11 edm::LogDebug_(
"electronSelector",
"", 16)<<
"Number of electrons to select from = "<< electrons.size();
12 for(std::vector<reco::GsfElectronRef>::const_iterator Relec = electrons.begin(); Relec != electrons.end(); ++Relec)
15 edm::LogDebug_(
"electronSelector",
"", 17) <<
"Analysing elec, id = "<< elec.
id() <<
"\tkey = "<< elec.
key();
16 double scEta = elec->superCluster()->eta();
17 if(fabs(scEta) < 1.4442 || fabs(scEta) > 1.56)
19 bool HLTMatch =
false;
20 for(
unsigned int k = 0;
k < ring.size(); ++
k)
25 edm::LogDebug_(
"electronSelector",
"", 16) <<
"HLT Match = "<<HLTMatch;
26 std::cout <<
"HLT Match = " << HLTMatch << std::endl;
30 if(fabs(scEta) < 1.479)
32 float sIhIh = elec->scSigmaIEtaIEta();
34 <<
"\tCut Value = "<< Cuts[1];
37 edm::LogDebug_(
"elecSel",
"",39)<<
"dEta = "<< elec->deltaEtaSuperClusterTrackAtVtx()
38 <<
"\tCut Value = "<< Cuts[2];
39 if(fabs(elec->deltaEtaSuperClusterTrackAtVtx()) < Cuts[2])
41 edm::LogDebug_(
"elecSel",
"",39)<<
"dPhi = "<< elec->deltaPhiSuperClusterTrackAtVtx()
42 <<
"\tCut Value = "<< Cuts[3];
43 if(fabs(elec->deltaPhiSuperClusterTrackAtVtx()) < Cuts[3])
45 float trckiso = elec->isolationVariables03().tkSumPt;
47 <<
"\tCut Value = "<< Cuts[4];
50 float ecaliso = elec->isolationVariables04().ecalRecHitSumEt;
52 <<
"\tCut Value = "<< Cuts[5];
55 float hcaliso = elec->isolationVariables04().hcalDepth1TowerSumEt
56 + elec->isolationVariables04().hcalDepth2TowerSumEt;
58 <<
"\tCut Value = "<< Cuts[6];
59 if(hcaliso < Cuts[6]) ChosenOnes.push_back(elec);
66 float sIhIh = elec->scSigmaIEtaIEta();
68 <<
"\tCut Value = "<< Cuts[7];
71 edm::LogDebug_(
"elecSel",
"",39)<<
"dEta = "<< elec->deltaEtaSuperClusterTrackAtVtx()
72 <<
"\tCut Value = "<< Cuts[8];
73 if(fabs(elec->deltaEtaSuperClusterTrackAtVtx()) < Cuts[8])
75 edm::LogDebug_(
"elecSel",
"",39)<<
"dPhi = "<< elec->deltaPhiSuperClusterTrackAtVtx()
76 <<
"\tCut Value = "<< Cuts[9];
77 if(fabs(elec->deltaPhiSuperClusterTrackAtVtx()) < Cuts[9])
79 float trckiso = elec->isolationVariables03().tkSumPt;
81 <<
"\tCut Value = "<< Cuts[10];
82 if(trckiso < Cuts[10])
84 float ecaliso = elec->isolationVariables04().ecalRecHitSumEt;
86 <<
"\tCut Value = "<< Cuts[11];
87 if(ecaliso < Cuts[11])
89 float hcaliso = elec->isolationVariables04().hcalDepth1TowerSumEt
90 + elec->isolationVariables04().hcalDepth2TowerSumEt;
92 <<
"\tCut Value = "<< Cuts[12];
93 if(hcaliso < Cuts[12]) ChosenOnes.push_back(elec);
double deltaR(double eta1, double phi1, double eta2, double phi2)
Single trigger physics object (e.g., an isolated muon)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
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)
std::vector< size_type > Keys
key_type key() const
Accessor for product key.
ProductID id() const
Accessor for product ID.