15 #include "TDirectory.h"
23 using namespace l1extra;
30 m_photonProducerSrc = PlotMakerRecoInput.
getParameter<
string>(
"photonProducer");
31 m_photonSrc = PlotMakerRecoInput.
getParameter<
string>(
"photons");
35 def_electronPtMin = PlotMakerRecoInput.
getParameter<
double>(
"def_electronPtMin");
36 def_muonPtMin = PlotMakerRecoInput.
getParameter<
double>(
"def_muonPtMin");
37 def_jetPtMin = PlotMakerRecoInput.
getParameter<
double>(
"def_jetPtMin");
38 def_photonPtMin = PlotMakerRecoInput.
getParameter<
double>(
"def_photonPtMin");
40 binFactor = PlotMakerRecoInput.
getParameter<
int>(
"BinFactor");
45 edm::LogInfo(
"PlotMakerRecoObjects") <<
"Object definition cuts:" << endl;
46 edm::LogInfo(
"PlotMakerRecoObjects") <<
" def_electronPtMin " << def_electronPtMin << endl;
47 edm::LogInfo(
"PlotMakerRecoObjects") <<
" def_muonPtMin " << def_muonPtMin << endl;
48 edm::LogInfo(
"PlotMakerRecoObjects") <<
" def_jetPtMin " << def_jetPtMin << endl;
49 edm::LogInfo(
"PlotMakerRecoObjects") <<
" def_photonPtMin " << def_photonPtMin << endl;
56 this->handleObjects(iEvent);
68 std::vector<double> diJetInvMass;
69 for(
unsigned int i=0;
i<theCaloJetCollection.size();
i++) {
70 if(theCaloJetCollection[
i].
pt() > def_jetPtMin ) {
72 for(
unsigned int j=
i+1;
j<theCaloJetCollection.size();
j++) {
73 if(theCaloJetCollection[
j].
pt() > def_jetPtMin ) {
74 diJetInvMass.push_back(invariantMass(&theCaloJetCollection[
i],&theCaloJetCollection[
j]));
80 hJetMult->Fill(nJets);
81 for(
unsigned int j=0;
j<diJetInvMass.size();
j++) {hDiJetInvMass->Fill(diJetInvMass[
j]);}
82 if(theCaloJetCollection.size()>0) {
83 hJet1Pt->Fill(theCaloJetCollection[0].
pt());
84 hJet1Eta->Fill(theCaloJetCollection[0].
eta());
85 hJet1Phi->Fill(theCaloJetCollection[0].
phi());
87 if(theCaloJetCollection.size()>1) {
88 hJet2Pt->Fill(theCaloJetCollection[1].
pt());
89 hJet2Eta->Fill(theCaloJetCollection[1].
eta());
90 hJet2Phi->Fill(theCaloJetCollection[1].
phi());
93 for(
unsigned int i=0;
i<l1bits_->size();
i++) {
95 hJetMultAfterL1[
i]->Fill(nJets);
96 for(
unsigned int j=0;
j<diJetInvMass.size();
j++) {hDiJetInvMassAfterL1[
i]->Fill(diJetInvMass[
j]);}
97 if(theCaloJetCollection.size()>0) {
98 hJet1PtAfterL1[
i]->Fill(theCaloJetCollection[0].
pt());
99 hJet1EtaAfterL1[
i]->Fill(theCaloJetCollection[0].
eta());
100 hJet1PhiAfterL1[
i]->Fill(theCaloJetCollection[0].
phi());
102 if(theCaloJetCollection.size()>1) {
103 hJet2PtAfterL1[
i]->Fill(theCaloJetCollection[1].
pt());
104 hJet2EtaAfterL1[
i]->Fill(theCaloJetCollection[1].
eta());
105 hJet2PhiAfterL1[
i]->Fill(theCaloJetCollection[1].
phi());
109 for(
unsigned int i=0;
i<hltbits_->size();
i++) {
110 if(hltbits_->at(
i)) {
111 hJetMultAfterHLT[
i]->Fill(nJets);
112 for(
unsigned int j=0;
j<diJetInvMass.size();
j++) {hDiJetInvMassAfterHLT[
i]->Fill(diJetInvMass[
j]);}
113 if(theCaloJetCollection.size()>0) {
114 hJet1PtAfterHLT[
i]->Fill(theCaloJetCollection[0].
pt());
115 hJet1EtaAfterHLT[
i]->Fill(theCaloJetCollection[0].
eta());
116 hJet1PhiAfterHLT[
i]->Fill(theCaloJetCollection[0].
phi());
118 if(theCaloJetCollection.size()>1) {
119 hJet2PtAfterHLT[
i]->Fill(theCaloJetCollection[1].
pt());
120 hJet2EtaAfterHLT[
i]->Fill(theCaloJetCollection[1].
eta());
121 hJet2PhiAfterHLT[
i]->Fill(theCaloJetCollection[1].
phi());
132 std::vector<double> diElecInvMass;
133 for(
unsigned int i=0;
i<theElectronCollection.size();
i++) {
134 if(theElectronCollection[
i].
pt() > def_electronPtMin ) {
136 for(
unsigned int j=
i+1;
j<theElectronCollection.size();
j++) {
137 if(theElectronCollection[
j].
pt() > def_electronPtMin ) {
138 if(theElectronCollection[
i].
charge()*theElectronCollection[
j].charge() < 0)
139 diElecInvMass.push_back(invariantMass(&theElectronCollection[
i],&theElectronCollection[
j]));
145 hElecMult->Fill(nElectrons);
146 for(
unsigned int j=0;
j<diElecInvMass.size();
j++) {hDiElecInvMass->Fill(diElecInvMass[
j]);}
147 if(theElectronCollection.size()>0) {
148 hElec1Pt->Fill(theElectronCollection[0].
pt());
149 hElec1Eta->Fill(theElectronCollection[0].
eta());
150 hElec1Phi->Fill(theElectronCollection[0].
phi());
152 if(theElectronCollection.size()>1) {
153 hElec2Pt->Fill(theElectronCollection[1].
pt());
154 hElec2Eta->Fill(theElectronCollection[1].
eta());
155 hElec2Phi->Fill(theElectronCollection[1].
phi());
158 for(
unsigned int i=0;
i<l1bits_->size();
i++) {
160 hElecMultAfterL1[
i]->Fill(nElectrons);
161 for(
unsigned int j=0;
j<diElecInvMass.size();
j++) {hDiElecInvMassAfterL1[
i]->Fill(diElecInvMass[
j]);}
162 if(theElectronCollection.size()>0) {
163 hElec1PtAfterL1[
i]->Fill(theElectronCollection[0].
pt());
164 hElec1EtaAfterL1[
i]->Fill(theElectronCollection[0].
eta());
165 hElec1PhiAfterL1[
i]->Fill(theElectronCollection[0].
phi());
167 if(theElectronCollection.size()>1) {
168 hElec2PtAfterL1[
i]->Fill(theElectronCollection[1].
pt());
169 hElec2EtaAfterL1[
i]->Fill(theElectronCollection[1].
eta());
170 hElec2PhiAfterL1[
i]->Fill(theElectronCollection[1].
phi());
174 for(
unsigned int i=0;
i<hltbits_->size();
i++) {
175 if(hltbits_->at(
i)) {
176 hElecMultAfterHLT[
i]->Fill(nElectrons);
177 for(
unsigned int j=0;
j<diElecInvMass.size();
j++) {hDiElecInvMassAfterHLT[
i]->Fill(diElecInvMass[
j]);}
178 if(theElectronCollection.size()>0) {
179 hElec1PtAfterHLT[
i]->Fill(theElectronCollection[0].
pt());
180 hElec1EtaAfterHLT[
i]->Fill(theElectronCollection[0].
eta());
181 hElec1PhiAfterHLT[
i]->Fill(theElectronCollection[0].
phi());
183 if(theElectronCollection.size()>1) {
184 hElec2PtAfterHLT[
i]->Fill(theElectronCollection[1].
pt());
185 hElec2EtaAfterHLT[
i]->Fill(theElectronCollection[1].
eta());
186 hElec2PhiAfterHLT[
i]->Fill(theElectronCollection[1].
phi());
197 std::vector<double> diMuonInvMass;
198 for(
unsigned int i=0;
i<theMuonCollection.size();
i++) {
199 if(theMuonCollection[
i].
pt() > def_muonPtMin ) {
201 for(
unsigned int j=
i+1;
j<theMuonCollection.size();
j++) {
202 if(theMuonCollection[
j].
pt() > def_muonPtMin ) {
203 if(theMuonCollection[
i].
charge()*theMuonCollection[
j].charge() < 0)
204 diMuonInvMass.push_back(invariantMass(&theMuonCollection[
i],&theMuonCollection[
j]));
211 hMuonMult->Fill(nMuons);
212 for(
unsigned int j=0;
j<diMuonInvMass.size();
j++) {hDiMuonInvMass->Fill(diMuonInvMass[
j]);}
213 if(theMuonCollection.size()>0) {
214 hMuon1Pt->Fill(theMuonCollection[0].
pt());
215 hMuon1Eta->Fill(theMuonCollection[0].
eta());
216 hMuon1Phi->Fill(theMuonCollection[0].
phi());
218 if(theMuonCollection.size()>1) {
219 hMuon2Pt->Fill(theMuonCollection[1].
pt());
220 hMuon2Eta->Fill(theMuonCollection[1].
eta());
221 hMuon2Phi->Fill(theMuonCollection[1].
phi());
224 for(
unsigned int i=0;
i<l1bits_->size();
i++) {
226 hMuonMultAfterL1[
i]->Fill(nMuons);
227 for(
unsigned int j=0;
j<diMuonInvMass.size();
j++) {hDiMuonInvMassAfterL1[
i]->Fill(diMuonInvMass[
j]);}
228 if(theMuonCollection.size()>0) {
229 hMuon1PtAfterL1[
i]->Fill(theMuonCollection[0].
pt());
230 hMuon1EtaAfterL1[
i]->Fill(theMuonCollection[0].
eta());
231 hMuon1PhiAfterL1[
i]->Fill(theMuonCollection[0].
phi());
233 if(theMuonCollection.size()>1) {
234 hMuon2PtAfterL1[
i]->Fill(theMuonCollection[1].
pt());
235 hMuon2EtaAfterL1[
i]->Fill(theMuonCollection[1].
eta());
236 hMuon2PhiAfterL1[
i]->Fill(theMuonCollection[1].
phi());
240 for(
unsigned int i=0;
i<hltbits_->size();
i++) {
241 if(hltbits_->at(
i)) {
242 hMuonMultAfterHLT[
i]->Fill(nMuons);
243 for(
unsigned int j=0;
j<diMuonInvMass.size();
j++) {hDiMuonInvMassAfterHLT[
i]->Fill(diMuonInvMass[
j]);}
244 if(theMuonCollection.size()>0) {
245 hMuon1PtAfterHLT[
i]->Fill(theMuonCollection[0].
pt());
246 hMuon1EtaAfterHLT[
i]->Fill(theMuonCollection[0].
eta());
247 hMuon1PhiAfterHLT[
i]->Fill(theMuonCollection[0].
phi());
249 if(theMuonCollection.size()>1) {
250 hMuon2PtAfterHLT[
i]->Fill(theMuonCollection[1].
pt());
251 hMuon2EtaAfterHLT[
i]->Fill(theMuonCollection[1].
eta());
252 hMuon2PhiAfterHLT[
i]->Fill(theMuonCollection[1].
phi());
262 std::vector<double> diPhotonInvMass;
263 for(
unsigned int i=0;
i<thePhotonCollection.size();
i++) {
264 if(thePhotonCollection[
i].
pt() > def_photonPtMin ) {
266 for(
unsigned int j=
i+1;
j<thePhotonCollection.size();
j++) {
267 if(thePhotonCollection[
j].
pt() > def_photonPtMin ) {
268 diPhotonInvMass.push_back(invariantMass(&thePhotonCollection[
i],&thePhotonCollection[
j]));
274 hPhotonMult->Fill(nPhotons);
275 for(
unsigned int j=0;
j<diPhotonInvMass.size();
j++) {hDiPhotonInvMass->Fill(diPhotonInvMass[
j]);}
276 if(thePhotonCollection.size()>0) {
277 hPhoton1Pt->Fill(thePhotonCollection[0].et());
278 hPhoton1Eta->Fill(thePhotonCollection[0].
eta());
279 hPhoton1Phi->Fill(thePhotonCollection[0].
phi());
281 if(thePhotonCollection.size()>1) {
282 hPhoton2Pt->Fill(thePhotonCollection[1].et());
283 hPhoton2Eta->Fill(thePhotonCollection[1].
eta());
284 hPhoton2Phi->Fill(thePhotonCollection[1].
phi());
286 for(
unsigned int i=0;
i<l1bits_->size();
i++) {
288 hPhotonMultAfterL1[
i]->Fill(nPhotons);
289 for(
unsigned int j=0;
j<diPhotonInvMass.size();
j++) {hDiPhotonInvMassAfterL1[
i]->Fill(diPhotonInvMass[
j]);}
290 if(thePhotonCollection.size()>0) {
291 hPhoton1PtAfterL1[
i]->Fill(thePhotonCollection[0].et());
292 hPhoton1EtaAfterL1[
i]->Fill(thePhotonCollection[0].
eta());
293 hPhoton1PhiAfterL1[
i]->Fill(thePhotonCollection[0].
phi());
295 if(thePhotonCollection.size()>1) {
296 hPhoton2PtAfterL1[
i]->Fill(thePhotonCollection[1].et());
297 hPhoton2EtaAfterL1[
i]->Fill(thePhotonCollection[1].
eta());
298 hPhoton2PhiAfterL1[
i]->Fill(thePhotonCollection[1].
phi());
302 for(
unsigned int i=0;
i<hltbits_->size();
i++) {
303 if(hltbits_->at(
i)) {
304 hPhotonMultAfterHLT[
i]->Fill(nPhotons);
305 for(
unsigned int j=0;
j<diPhotonInvMass.size();
j++) {hDiPhotonInvMassAfterHLT[
i]->Fill(diPhotonInvMass[
j]);}
306 if(thePhotonCollection.size()>0) {
307 hPhoton1PtAfterHLT[
i]->Fill(thePhotonCollection[0].et());
308 hPhoton1EtaAfterHLT[
i]->Fill(thePhotonCollection[0].
eta());
309 hPhoton1PhiAfterHLT[
i]->Fill(thePhotonCollection[0].
phi());
311 if(thePhotonCollection.size()>1) {
312 hPhoton2PtAfterHLT[
i]->Fill(thePhotonCollection[1].et());
313 hPhoton2EtaAfterHLT[
i]->Fill(thePhotonCollection[1].
eta());
314 hPhoton2PhiAfterHLT[
i]->Fill(thePhotonCollection[1].
phi());
324 hMET->Fill((theCaloMETCollection.front()).
pt());
325 hMETx->Fill((theCaloMETCollection.front()).px());
326 hMETy->Fill((theCaloMETCollection.front()).py());
327 hMETphi->Fill((theCaloMETCollection.front()).
phi());
328 hSumEt->Fill((theCaloMETCollection.front()).sumEt());
329 double RecoMetSig = (theCaloMETCollection.front()).
pt() /
sqrt( (theCaloMETCollection.front()).sumEt() );
330 hMETSignificance->Fill(RecoMetSig);
331 for(
unsigned int i=0;
i<l1bits_->size();
i++) {
333 hMETAfterL1[
i]->Fill((theCaloMETCollection.front()).
pt());
334 hMETxAfterL1[
i]->Fill((theCaloMETCollection.front()).px());
335 hMETyAfterL1[
i]->Fill((theCaloMETCollection.front()).py());
336 hMETphiAfterL1[
i]->Fill((theCaloMETCollection.front()).
phi());
337 hSumEtAfterL1[
i]->Fill((theCaloMETCollection.front()).sumEt());
338 hMETSignificanceAfterL1[
i]->Fill(RecoMetSig);
341 for(
unsigned int i=0;
i<hltbits_->size();
i++) {
342 if(hltbits_->at(
i)) {
343 hMETAfterHLT[
i]->Fill((theCaloMETCollection.front()).
pt());
344 hMETxAfterHLT[
i]->Fill((theCaloMETCollection.front()).px());
345 hMETyAfterHLT[
i]->Fill((theCaloMETCollection.front()).py());
346 hMETphiAfterHLT[
i]->Fill((theCaloMETCollection.front()).
phi());
347 hSumEtAfterHLT[
i]->Fill((theCaloMETCollection.front()).sumEt());
348 hMETSignificanceAfterHLT[
i]->Fill(RecoMetSig);
359 std::vector<std::string>* l1Names_, std::vector<std::string>* hlNames_)
362 this->setBits(l1bits, hltbits);
373 dbe_->setCurrentFolder(dirname_+
"/RecoJets/General");
374 hJetMult = dbe_->book1D(
"JetMult",
"Jet Multiplicity", 10, 0, 10);
375 hJet1Pt = dbe_->book1D(
"Jet1Pt",
"Jet 1 Pt ", 100, 0, 1000);
376 hJet2Pt = dbe_->book1D(
"Jet2Pt",
"Jet 2 Pt ", 100, 0, 1000);
377 hJet1Eta = dbe_->book1D(
"Jet1Eta",
"Jet 1 Eta ", 10*binFactor, -3 , 3 );
378 hJet2Eta = dbe_->book1D(
"Jet2Eta",
"Jet 2 Eta ", 10*binFactor, -3 , 3 );
379 hJet1Phi = dbe_->book1D(
"Jet1Phi",
"Jet 1 Phi ", 10*binFactor, -3.2 , 3.2 );
380 hJet2Phi = dbe_->book1D(
"Jet2Phi",
"Jet 2 Phi ", 10*binFactor, -3.2 , 3.2 );
382 hDiJetInvMass = dbe_->book1D(
"DiJetInvMass",
"DiJet Invariant Mass", 100*binFactor, 0, 1000);
385 dbe_->setCurrentFolder(dirname_+
"/RecoJets/L1");
386 for(
unsigned int i=0;
i<l1bits_->size();
i++){
387 myHistoName =
"JetMult_" + (*l1Names_)[
i];
388 myHistoTitle =
"Jet Multiplicity for L1 path " + (*l1Names_)[
i];
389 hJetMultAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
390 myHistoName =
"Jet1Pt_" + (*l1Names_)[
i];
391 myHistoTitle =
"Jet 1 Pt for L1 path " + (*l1Names_)[
i];
392 hJet1PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 1000));
393 myHistoName =
"Jet2Pt_" + (*l1Names_)[
i];
394 myHistoTitle =
"Jet 2 Pt for L1 path " + (*l1Names_)[
i];
395 hJet2PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 1000));
396 myHistoName =
"Jet1Eta_" + (*l1Names_)[
i];
397 myHistoTitle =
"Jet 1 Eta for L1 path " + (*l1Names_)[
i];
398 hJet1EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
399 myHistoName =
"Jet2Eta_" + (*l1Names_)[
i];
400 myHistoTitle =
"Jet 2 Eta for L1 path " + (*l1Names_)[
i];
401 hJet2EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
402 myHistoName =
"Jet1Phi_" + (*l1Names_)[
i];
403 myHistoTitle =
"Jet 1 Phi for L1 path " + (*l1Names_)[
i];
404 hJet1PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
405 myHistoName =
"Jet2Phi_" + (*l1Names_)[
i];
406 myHistoTitle =
"Jet 2 Phi for L1 path " + (*l1Names_)[
i];
407 hJet2PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
409 myHistoName =
"DiJetInvMass_" + (*l1Names_)[
i];
410 myHistoTitle =
"DiJet Invariant Mass for L1 path " + (*l1Names_)[
i];
411 hDiJetInvMassAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
415 dbe_->setCurrentFolder(dirname_+
"/RecoJets/HLT");
416 for(
unsigned int i=0;
i<hltbits_->size();
i++){
417 myHistoName =
"JetMult_" + (*hlNames_)[
i];
418 myHistoTitle =
"Jet Multiplicity for HLT path " + (*hlNames_)[
i];
419 hJetMultAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
420 myHistoName =
"Jet1Pt_" + (*hlNames_)[
i];
421 myHistoTitle =
"Jet 1 Pt for HLT path " + (*hlNames_)[
i];
422 hJet1PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 1000));
423 myHistoName =
"Jet2Pt_" + (*hlNames_)[
i];
424 myHistoTitle =
"Jet 2 Pt for HLT path " + (*hlNames_)[
i];
425 hJet2PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 1000));
426 myHistoName =
"Jet1Eta_" + (*hlNames_)[
i];
427 myHistoTitle =
"Jet 1 Eta for HLT path " + (*hlNames_)[
i];
428 hJet1EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
429 myHistoName =
"Jet2Eta_" + (*hlNames_)[
i];
430 myHistoTitle =
"Jet 2 Eta for HLT path " + (*hlNames_)[
i];
431 hJet2EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
432 myHistoName =
"Jet1Phi_" + (*hlNames_)[
i];
433 myHistoTitle =
"Jet 1 Phi for HLT path " + (*hlNames_)[
i];
434 hJet1PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
435 myHistoName =
"Jet2Phi_" + (*hlNames_)[
i];
436 myHistoTitle =
"Jet 2 Phi for HLT path " + (*hlNames_)[
i];
437 hJet2PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
439 myHistoName =
"DiJetInvMass_" + (*hlNames_)[
i];
440 myHistoTitle =
"DiJet Invariant Mass for HLT path " + (*hlNames_)[
i];
441 hDiJetInvMassAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
444 dbe_->setCurrentFolder(dirname_);
453 dbe_->setCurrentFolder(dirname_+
"/RecoElectrons/General");
454 hElecMult = dbe_->book1D(
"ElecMult",
"Elec Multiplicity", 10, 0, 10);
455 hElec1Pt = dbe_->book1D(
"Elec1Pt",
"Elec 1 Pt ", 100, 0, 100);
456 hElec2Pt = dbe_->book1D(
"Elec2Pt",
"Elec 2 Pt ", 100, 0, 100);
457 hElec1Eta = dbe_->book1D(
"Elec1Eta",
"Elec 1 Eta ", 10*binFactor, -3, 3);
458 hElec2Eta = dbe_->book1D(
"Elec2Eta",
"Elec 2 Eta ", 10*binFactor, -3, 3);
459 hElec1Phi = dbe_->book1D(
"Elec1Phi",
"Elec 1 Phi ", 10*binFactor, -3.2, 3.2);
460 hElec2Phi = dbe_->book1D(
"Elec2Phi",
"Elec 2 Phi ", 10*binFactor, -3.2, 3.2);
462 hDiElecInvMass = dbe_->book1D(
"DiElecInvMass",
"DiElec Invariant Mass", 100*binFactor, 0, 1000);
464 dbe_->setCurrentFolder(dirname_+
"/RecoElectrons/L1");
465 for(
unsigned int i=0;
i<l1bits_->size();
i++){
466 myHistoName =
"ElecMult_" + (*l1Names_)[
i];
467 myHistoTitle =
"Elec Multiplicity for L1 path " + (*l1Names_)[
i];
468 hElecMultAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
469 myHistoName =
"Elec1Pt_" + (*l1Names_)[
i];
470 myHistoTitle =
"Elec 1 Pt for L1 path " + (*l1Names_)[
i];
471 hElec1PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
472 myHistoName =
"Elec2Pt_" + (*l1Names_)[
i];
473 myHistoTitle =
"Elec 2 Pt for L1 path " + (*l1Names_)[
i];
474 hElec2PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
475 myHistoName =
"Elec1Eta_" + (*l1Names_)[
i];
476 myHistoTitle =
"Elec 1 Eta for L1 path " + (*l1Names_)[
i];
477 hElec1EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
478 myHistoName =
"Elec2Eta_" + (*l1Names_)[
i];
479 myHistoTitle =
"Elec 2 Eta for L1 path " + (*l1Names_)[
i];
480 hElec2EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
481 myHistoName =
"Elec1Phi_" + (*l1Names_)[
i];
482 myHistoTitle =
"Elec 1 Phi for L1 path " + (*l1Names_)[
i];
483 hElec1PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
484 myHistoName =
"Elec2Phi_" + (*l1Names_)[
i];
485 myHistoTitle =
"Elec 2 Phi for L1 path " + (*l1Names_)[
i];
486 hElec2PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
488 myHistoName =
"DiElecInvMass_" + (*l1Names_)[
i];
489 myHistoTitle =
"DiElec Invariant Mass for L1 path " + (*l1Names_)[
i];
490 hDiElecInvMassAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
494 dbe_->setCurrentFolder(dirname_+
"/RecoElectrons/HLT");
495 for(
unsigned int i=0;
i<hltbits_->size();
i++){
496 myHistoName =
"ElecMult_" + (*hlNames_)[
i];
497 myHistoTitle =
"Elec Multiplicity for HLT path " + (*hlNames_)[
i];
498 hElecMultAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
499 myHistoName =
"Elec1Pt_" + (*hlNames_)[
i];
500 myHistoTitle =
"Elec 1 Pt for HLT path " + (*hlNames_)[
i];
501 hElec1PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
502 myHistoName =
"Elec2Pt_" + (*hlNames_)[
i];
503 myHistoTitle =
"Elec 2 Pt for HLT path " + (*hlNames_)[
i];
504 hElec2PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
505 myHistoName =
"Elec1Eta_" + (*hlNames_)[
i];
506 myHistoTitle =
"Elec 1 Eta for HLT path " + (*hlNames_)[
i];
507 hElec1EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
508 myHistoName =
"Elec2Eta_" + (*hlNames_)[
i];
509 myHistoTitle =
"Elec 2 Eta for HLT path " + (*hlNames_)[
i];
510 hElec2EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
511 myHistoName =
"Elec1Phi_" + (*hlNames_)[
i];
512 myHistoTitle =
"Elec 1 Phi for HLT path " + (*hlNames_)[
i];
513 hElec1PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
514 myHistoName =
"Elec2Phi_" + (*hlNames_)[
i];
515 myHistoTitle =
"Elec 2 Phi for HLT path " + (*hlNames_)[
i];
516 hElec2PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
518 myHistoName =
"DiElecInvMass_" + (*hlNames_)[
i];
519 myHistoTitle =
"DiElec Invariant Mass for HLT path " + (*hlNames_)[
i];
520 hDiElecInvMassAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
523 dbe_->setCurrentFolder(dirname_);
530 dbe_->setCurrentFolder(dirname_+
"/RecoMuons/General");
531 hMuonMult = dbe_->book1D(
"MuonMult",
"Muon Multiplicity", 10, 0, 10);
532 hMuon1Pt = dbe_->book1D(
"Muon1Pt",
"Muon 1 Pt ", 100, 0, 100);
533 hMuon2Pt = dbe_->book1D(
"Muon2Pt",
"Muon 2 Pt ", 100, 0, 100);
534 hMuon1Eta = dbe_->book1D(
"Muon1Eta",
"Muon 1 Eta ", 10*binFactor, -3, 3);
535 hMuon2Eta = dbe_->book1D(
"Muon2Eta",
"Muon 2 Eta ", 10*binFactor, -3, 3);
536 hMuon1Phi = dbe_->book1D(
"Muon1Phi",
"Muon 1 Phi ", 10*binFactor, -3.2, 3.2);
537 hMuon2Phi = dbe_->book1D(
"Muon2Phi",
"Muon 2 Phi ", 10*binFactor, -3.2, 3.2);
539 hDiMuonInvMass = dbe_->book1D(
"DiMuonInvMass",
"DiMuon Invariant Mass", 100*binFactor, 0, 1000);
541 dbe_->setCurrentFolder(dirname_+
"/RecoMuons/L1");
542 for(
unsigned int i=0;
i<l1bits_->size();
i++){
543 myHistoName =
"MuonMult_" + (*l1Names_)[
i];
544 myHistoTitle =
"Muon Multiplicity for L1 path " + (*l1Names_)[
i];
545 hMuonMultAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
546 myHistoName =
"Muon1Pt_" + (*l1Names_)[
i];
547 myHistoTitle =
"Muon 1 Pt for L1 path " + (*l1Names_)[
i];
548 hMuon1PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
549 myHistoName =
"Muon2Pt_" + (*l1Names_)[
i];
550 myHistoTitle =
"Muon 2 Pt for L1 path " + (*l1Names_)[
i];
551 hMuon2PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
552 myHistoName =
"Muon1Eta_" + (*l1Names_)[
i];
553 myHistoTitle =
"Muon 1 Eta for L1 path " + (*l1Names_)[
i];
554 hMuon1EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
555 myHistoName =
"Muon2Eta_" + (*l1Names_)[
i];
556 myHistoTitle =
"Muon 2 Eta for L1 path " + (*l1Names_)[
i];
557 hMuon2EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
558 myHistoName =
"Muon1Phi_" + (*l1Names_)[
i];
559 myHistoTitle =
"Muon 1 Phi for L1 path " + (*l1Names_)[
i];
560 hMuon1PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
561 myHistoName =
"Muon2Phi_" + (*l1Names_)[
i];
562 myHistoTitle =
"Muon 2 Phi for L1 path " + (*l1Names_)[
i];
563 hMuon2PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
565 myHistoName =
"DiMuonInvMass_" + (*l1Names_)[
i];
566 myHistoTitle =
"DiMuon Invariant Mass for L1 path " + (*l1Names_)[
i];
567 hDiMuonInvMassAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
571 dbe_->setCurrentFolder(dirname_+
"/RecoMuons/HLT");
572 for(
unsigned int i=0;
i<hltbits_->size();
i++){
573 myHistoName =
"MuonMult_" + (*hlNames_)[
i];
574 myHistoTitle =
"Muon Multiplicity for HLT path " + (*hlNames_)[
i];
575 hMuonMultAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
576 myHistoName =
"Muon1Pt_" + (*hlNames_)[
i];
577 myHistoTitle =
"Muon 1 Pt for HLT path " + (*hlNames_)[
i];
578 hMuon1PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
579 myHistoName =
"Muon2Pt_" + (*hlNames_)[
i];
580 myHistoTitle =
"Muon 2 Pt for HLT path " + (*hlNames_)[
i];
581 hMuon2PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
582 myHistoName =
"Muon1Eta_" + (*hlNames_)[
i];
583 myHistoTitle =
"Muon 1 Eta for HLT path " + (*hlNames_)[
i];
584 hMuon1EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
585 myHistoName =
"Muon2Eta_" + (*hlNames_)[
i];
586 myHistoTitle =
"Muon 2 Eta for HLT path " + (*hlNames_)[
i];
587 hMuon2EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
588 myHistoName =
"Muon1Phi_" + (*hlNames_)[
i];
589 myHistoTitle =
"Muon 1 Phi for HLT path " + (*hlNames_)[
i];
590 hMuon1PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
591 myHistoName =
"Muon2Phi_" + (*hlNames_)[
i];
592 myHistoTitle =
"Muon 2 Phi for HLT path " + (*hlNames_)[
i];
593 hMuon2PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
595 myHistoName =
"DiMuonInvMass_" + (*hlNames_)[
i];
596 myHistoTitle =
"DiMuon Invariant Mass for HLT path " + (*hlNames_)[
i];
597 hDiMuonInvMassAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
600 dbe_->setCurrentFolder(dirname_);
608 dbe_->setCurrentFolder(dirname_+
"/RecoPhotons/General");
609 hPhotonMult = dbe_->book1D(
"PhotonMult",
"Photon Multiplicity", 10, 0, 10);
610 hPhoton1Pt = dbe_->book1D(
"Photon1Pt",
"Photon 1 Pt ", 100, 0, 100);
611 hPhoton2Pt = dbe_->book1D(
"Photon2Pt",
"Photon 2 Pt ", 100, 0, 100);
612 hPhoton1Eta = dbe_->book1D(
"Photon1Eta",
"Photon 1 Eta ", 10*binFactor, -3, 3);
613 hPhoton2Eta = dbe_->book1D(
"Photon2Eta",
"Photon 2 Eta ", 10*binFactor, -3, 3);
614 hPhoton1Phi = dbe_->book1D(
"Photon1Phi",
"Photon 1 Phi ", 10*binFactor, -3.2, 3.2);
615 hPhoton2Phi = dbe_->book1D(
"Photon2Phi",
"Photon 2 Phi ", 10*binFactor, -3.2, 3.2);
617 hDiPhotonInvMass = dbe_->book1D(
"DiPhotonInvMass",
"DiPhoton Invariant Mass", 100*binFactor, 0, 1000);
619 dbe_->setCurrentFolder(dirname_+
"/RecoPhotons/L1");
620 for(
unsigned int i=0;
i<l1bits_->size();
i++){
621 myHistoName =
"PhotonMult_" + (*l1Names_)[
i];
622 myHistoTitle =
"Photon Multiplicity for L1 path " + (*l1Names_)[
i];
623 hPhotonMultAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
624 myHistoName =
"Photon1Pt_" + (*l1Names_)[
i];
625 myHistoTitle =
"Photon 1 Pt for L1 path " + (*l1Names_)[
i];
626 hPhoton1PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
627 myHistoName =
"Photon2Pt_" + (*l1Names_)[
i];
628 myHistoTitle =
"Photon 2 Pt for L1 path " + (*l1Names_)[
i];
629 hPhoton2PtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
630 myHistoName =
"Photon1Eta_" + (*l1Names_)[
i];
631 myHistoTitle =
"Photon 1 Eta for L1 path " + (*l1Names_)[
i];
632 hPhoton1EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
633 myHistoName =
"Photon2Eta_" + (*l1Names_)[
i];
634 myHistoTitle =
"Photon 2 Eta for L1 path " + (*l1Names_)[
i];
635 hPhoton2EtaAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
636 myHistoName =
"Photon1Phi_" + (*l1Names_)[
i];
637 myHistoTitle =
"Photon 1 Phi for L1 path " + (*l1Names_)[
i];
638 hPhoton1PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
639 myHistoName =
"Photon2Phi_" + (*l1Names_)[
i];
640 myHistoTitle =
"Photon 2 Phi for L1 path " + (*l1Names_)[
i];
641 hPhoton2PhiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
643 myHistoName =
"DiPhotonInvMass_" + (*l1Names_)[
i];
644 myHistoTitle =
"DiPhoton Invariant Mass for L1 path " + (*l1Names_)[
i];
645 hDiPhotonInvMassAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
649 dbe_->setCurrentFolder(dirname_+
"/RecoPhotons/HLT");
650 for(
unsigned int i=0;
i<hltbits_->size();
i++){
651 myHistoName =
"PhotonMult_" + (*hlNames_)[
i];
652 myHistoTitle =
"Photon Multiplicity for HLT path " + (*hlNames_)[
i];
653 hPhotonMultAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10, 0, 10));
654 myHistoName =
"Photon1Pt_" + (*hlNames_)[
i];
655 myHistoTitle =
"Photon 1 Pt for HLT path " + (*hlNames_)[
i];
656 hPhoton1PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
657 myHistoName =
"Photon2Pt_" + (*hlNames_)[
i];
658 myHistoTitle =
"Photon 2 Pt for HLT path " + (*hlNames_)[
i];
659 hPhoton2PtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100, 0, 100));
660 myHistoName =
"Photon1Eta_" + (*hlNames_)[
i];
661 myHistoTitle =
"Photon 1 Eta for HLT path " + (*hlNames_)[
i];
662 hPhoton1EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
663 myHistoName =
"Photon2Eta_" + (*hlNames_)[
i];
664 myHistoTitle =
"Photon 2 Eta for HLT path " + (*hlNames_)[
i];
665 hPhoton2EtaAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3, 3));
666 myHistoName =
"Photon1Phi_" + (*hlNames_)[
i];
667 myHistoTitle =
"Photon 1 Phi for HLT path " + (*hlNames_)[
i];
668 hPhoton1PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
669 myHistoName =
"Photon2Phi_" + (*hlNames_)[
i];
670 myHistoTitle =
"Photon 2 Phi for HLT path " + (*hlNames_)[
i];
671 hPhoton2PhiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
673 myHistoName =
"DiPhotonInvMass_" + (*hlNames_)[
i];
674 myHistoTitle =
"DiPhoton Invariant Mass for HLT path " + (*hlNames_)[
i];
675 hDiPhotonInvMassAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 100*binFactor, 0, 1000));
678 dbe_->setCurrentFolder(dirname_);
686 dbe_->setCurrentFolder(dirname_+
"/RecoMET/General");
687 hMET = dbe_->book1D(
"MET",
"MET", 35, 0, 1050);
688 hMETx = dbe_->book1D(
"METx",
"METx", 35, 0, 1050);
689 hMETy = dbe_->book1D(
"METy",
"METy", 35, 0, 1050);
690 hMETphi = dbe_->book1D(
"METphi",
"METphi", 10*binFactor, -3.2, 3.2);
691 hSumEt = dbe_->book1D(
"SumEt" ,
"SumEt", 35, 0, 1050);
692 hMETSignificance = dbe_->book1D(
"METSignificance",
"METSignificance", 100, 0, 100);
693 dbe_->setCurrentFolder(dirname_+
"/RecoMET/L1");
694 for(
unsigned int i=0;
i<l1bits_->size();
i++){
695 myHistoName =
"MET_" + (*l1Names_)[
i];
696 myHistoTitle =
"MET for L1 path " + (*l1Names_)[
i];
697 hMETAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
698 myHistoName =
"METx_" + (*l1Names_)[
i];
699 myHistoTitle =
"METx for L1 path " + (*l1Names_)[
i];
700 hMETxAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
701 myHistoName =
"METy_" + (*l1Names_)[
i];
702 myHistoTitle =
"METy for L1 path " + (*l1Names_)[
i];
703 hMETyAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
704 myHistoName =
"METPhi_" + (*l1Names_)[
i];
705 myHistoTitle =
"METPhi for L1 path " + (*l1Names_)[
i];
706 hMETphiAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2));
707 myHistoName =
"SumEt_" + (*l1Names_)[
i];
708 myHistoTitle =
"SumEt for L1 path " + (*l1Names_)[
i];
709 hSumEtAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
710 myHistoName =
"METSignificance_" + (*l1Names_)[
i];
711 myHistoTitle =
"METSignificance for L1 path " + (*l1Names_)[
i];
712 hMETSignificanceAfterL1.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, 0, 100));
715 dbe_->setCurrentFolder(dirname_+
"/RecoMET/HLT");
716 for(
unsigned int i=0;
i<hltbits_->size();
i++){
717 myHistoName =
"MET_" + (*hlNames_)[
i];
718 myHistoTitle =
"MET for HLT path " + (*hlNames_)[
i];
719 hMETAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
720 myHistoName =
"METx_" + (*hlNames_)[
i];
721 myHistoTitle =
"METx for HLT path " + (*hlNames_)[
i];
722 hMETxAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
723 myHistoName =
"METy_" + (*hlNames_)[
i];
724 myHistoTitle =
"METy for HLT path " + (*hlNames_)[
i];
725 hMETyAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
726 myHistoName =
"METPhi_" + (*hlNames_)[
i];
727 myHistoTitle =
"METPhi for HLT path " + (*hlNames_)[
i];
728 hMETphiAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, -3.2, 3.2 ));
729 myHistoName =
"SumEt_" + (*hlNames_)[
i];
730 myHistoTitle =
"SumEt for HLT path " + (*hlNames_)[
i];
731 hSumEtAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 35, 0, 1050));
732 myHistoName =
"METSignificance_" + (*hlNames_)[
i];
733 myHistoTitle =
"METSignificance for HLT path " + (*hlNames_)[
i];
734 hMETSignificanceAfterHLT.push_back(dbe_->book1D(myHistoName.c_str(), myHistoTitle.c_str() , 10*binFactor, 0, 100));
736 dbe_->setCurrentFolder(dirname_);
759 iEvent.
getByToken(m_electronSrc, theElectronCollectionHandle);
760 theElectronCollection = *theElectronCollectionHandle;
761 std::sort(theElectronCollection.begin(), theElectronCollection.end(),
PtSorter());
765 iEvent.
getByToken(m_muonSrc, theMuonCollectionHandle);
766 theMuonCollection = *theMuonCollectionHandle;
771 iEvent.
getByToken(m_photon_token_, thePhotonCollectionHandle);
772 thePhotonCollection = *thePhotonCollectionHandle;
777 iEvent.
getByToken(m_jetsSrc, theCaloJetCollectionHandle);
778 theCaloJetCollection = *theCaloJetCollectionHandle;
783 iEvent.
getByToken(m_calometSrc, theCaloMETCollectionHandle);
784 theCaloMETCollection = *theCaloMETCollectionHandle;
789 (p1->
px() + p2->
px())*(p1->
px() + p2->
px()) -
790 (p1->
py() + p2->
py())*(p1->
py() + p2->
py()) -
791 (p1->
pz() + p2->
pz())*(p1->
pz() + p2->
pz()) );
double invariantMass(reco::Candidate *, reco::Candidate *)
T getParameter(std::string const &) const
virtual double energy() const =0
energy
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual double pz() const =0
z coordinate of momentum vector
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
std::vector< Muon > MuonCollection
collection of Muon objects
void handleObjects(const edm::Event &)
void fillPlots(const edm::Event &)
virtual double py() const =0
y coordinate of momentum vector
virtual double px() const =0
x coordinate of momentum vector
void bookHistos(DQMStore *, std::vector< int > *, std::vector< int > *, std::vector< std::string > *, std::vector< std::string > *)
std::vector< Photon > PhotonCollection
collectin of Photon objects
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
PlotMakerReco(const edm::ParameterSet &objectList, edm::ConsumesCollector &&iC)