35 #include "EGamma/EGammaAnalysisTools/src/PFIsolationEstimator.cc"
41 #include "CMGTools/External/interface/PileupJetIdentifier.h"
51 if (adHocPSet.
exists(
"useTFileService"))
57 if (adHocPSet.
exists(
"treeName")){
425 iEvent.
getByLabel(
"patTriggerEvent",triggerevent);
433 int ntrigs=hltresults->size();
437 int cschalofilterResult =1, trackingfailturefilterResult=1, ecaltpfilterResult=1, ecalbefilterResult=1, scrapingVetoResult=1;
438 int greedymuonfilterResult=1, inconsistentPFmuonfilterResult=1, hcallaserfilterResult=1, ecallaserfilterResult=1, eenoisefilterResult=1;
439 int eebadscfilterResult=1, passprescalePFHT350filterResult=1, passprescaleHT250filterResult=1, passprescaleHT300filterResult=1;
440 int passprescaleHT350filterResult=1, passprescaleHT400filterResult=1, passprescaleHT450filterResult=1;
441 int trackercoherentnoisefilter1Result=1, trackercoherentnoisefilter2Result=1, trackertoomanyclustersfilterResult=1, trackertoomanytripletsfilterResult=1, trackertoomanyseedsfilterResult=1;
442 for (
int itrig=0; itrig< ntrigs; itrig++) {
444 int hltflag = (*hltresults)[itrig].accept();
445 if (trigName==
"csctighthalofilter") cschalofilterResult = hltflag;
446 if (trigName==
"trackingfailturefilter") trackingfailturefilterResult = hltflag;
447 if (trigName==
"ecaltpfilter") ecaltpfilterResult = hltflag;
448 if (trigName==
"ecalbefilter") ecalbefilterResult = hltflag;
449 if (trigName==
"scrapingveto") scrapingVetoResult = hltflag;
450 if (trigName==
"greedymuonfilter") greedymuonfilterResult = hltflag;
451 if (trigName==
"inconsistentPFmuonfilter") inconsistentPFmuonfilterResult = hltflag;
452 if (trigName==
"hcallaserfilter") hcallaserfilterResult = hltflag;
453 if (trigName==
"ecallaserfilter") ecallaserfilterResult = hltflag;
454 if (trigName==
"eenoisefilter") eenoisefilterResult = hltflag;
455 if (trigName==
"eebadscfilter") eebadscfilterResult = hltflag;
456 if (trigName==
"trackercoherentnoisefilter1") trackercoherentnoisefilter1Result = hltflag;
457 if (trigName==
"trackercoherentnoisefilter2") trackercoherentnoisefilter2Result = hltflag;
458 if (trigName==
"trackertoomanyclustersfilter") trackertoomanyclustersfilterResult = hltflag;
459 if (trigName==
"trackertoomanytripletsfilter") trackertoomanytripletsfilterResult = hltflag;
460 if (trigName==
"trackertoomanyseedsfilter") trackertoomanyseedsfilterResult = hltflag;
461 if (trigName==
"passprescalePFHT350filter") passprescalePFHT350filterResult = hltflag;
462 if (trigName==
"passprescaleHT250filter") passprescaleHT250filterResult = hltflag;
463 if (trigName==
"passprescaleHT300filter") passprescaleHT300filterResult = hltflag;
464 if (trigName==
"passprescaleHT350filter") passprescaleHT350filterResult = hltflag;
465 if (trigName==
"passprescaleHT400filter") passprescaleHT400filterResult = hltflag;
466 if (trigName==
"passprescaleHT450filter") passprescaleHT450filterResult = hltflag;
496 for( std::vector<pat::TriggerPath>::const_iterator tp=triggerpaths->begin(); tp!=triggerpaths->end(); ++tp ){
497 double prescalevalue = tp->prescale();
499 float decision = tp->wasAccept();
500 (*trigger_prescalevalue).push_back(prescalevalue);
501 (*trigger_name).push_back(name);
502 (*trigger_decision).push_back(decision);
504 std::vector<std::string> collection_names;
505 std::vector<float> pt_vector;
506 std::vector<float> px_vector;
507 std::vector<float> py_vector;
508 std::vector<float> pz_vector;
509 std::vector<float> et_vector;
510 std::vector<float> energy_vector;
511 std::vector<float> phi_vector;
512 std::vector<float> eta_vector;
524 (*trigger_lastfiltername).push_back(triggerfilter->
label());
530 double pt = triggerObject->
pt();
531 double px = triggerObject->
px();
532 double py = triggerObject->
py();
533 double pz = triggerObject->
pz();
534 double et = triggerObject->
et();
536 double phi = triggerObject->
phi();
537 double eta = triggerObject->
eta();
541 collection_names.push_back(collname);
542 pt_vector.push_back(pt);
543 px_vector.push_back(px);
544 py_vector.push_back(py);
545 pz_vector.push_back(pz);
546 et_vector.push_back(et);
547 energy_vector.push_back(energy);
548 phi_vector.push_back(phi);
549 eta_vector.push_back(eta);
552 (*triggerobject_collectionname).push_back(collection_names);
553 (*triggerobject_pt).push_back(pt_vector);
554 (*triggerobject_px).push_back(px_vector);
555 (*triggerobject_py).push_back(py_vector);
556 (*triggerobject_pz).push_back(pz_vector);
557 (*triggerobject_et).push_back(et_vector);
558 (*triggerobject_energy).push_back(energy_vector);
559 (*triggerobject_phi).push_back(phi_vector);
560 (*triggerobject_eta).push_back(eta_vector);
563 (*trigger_lastfiltername).push_back(
"none");
564 (*triggerobject_collectionname).push_back(collection_names);
565 (*triggerobject_pt).push_back(pt_vector);
566 (*triggerobject_px).push_back(px_vector);
567 (*triggerobject_py).push_back(py_vector);
568 (*triggerobject_pz).push_back(pz_vector);
569 (*triggerobject_et).push_back(et_vector);
570 (*triggerobject_energy).push_back(energy_vector);
571 (*triggerobject_phi).push_back(phi_vector);
572 (*triggerobject_eta).push_back(eta_vector);
574 collection_names.clear();
580 energy_vector.clear();
588 iEvent.
getByLabel(
"patTrigger",triggerobjects);
589 for( std::vector<pat::TriggerObject>::const_iterator
to=triggerobjects->begin();
to!=triggerobjects->end(); ++
to ){
590 double pt =
to->pt();
591 double px =
to->px();
592 double py =
to->py();
593 double pz =
to->pz();
594 double et =
to->et();
596 double phi =
to->phi();
597 double eta =
to->eta();
601 (*standalone_triggerobject_collectionname).push_back(collname);
602 (*standalone_triggerobject_pt).push_back(pt);
603 (*standalone_triggerobject_px).push_back(px);
604 (*standalone_triggerobject_py).push_back(py);
605 (*standalone_triggerobject_pz).push_back(pz);
606 (*standalone_triggerobject_et).push_back(et);
607 (*standalone_triggerobject_energy).push_back(energy);
608 (*standalone_triggerobject_phi).push_back(phi);
609 (*standalone_triggerobject_eta).push_back(eta);
615 for( std::vector<pat::TriggerAlgorithm>::const_iterator ta=triggeralgos->begin(); ta!=triggeralgos->end(); ++ta ){
616 float prescalevalue = ta->prescale();
619 float bit = ta->bit();
620 float techTrig = ta->techTrigger();
621 float decision = ta->decision();
622 float decision_nomask = ta->decisionBeforeMask();
623 (*L1trigger_prescalevalue).push_back(prescalevalue);
624 (*L1trigger_name).push_back(name);
625 (*L1trigger_alias).push_back(alias);
626 (*L1trigger_bit).push_back(bit);
627 (*L1trigger_techTrigger).push_back(techTrig);
628 (*L1trigger_decision).push_back(decision);
629 (*L1trigger_decision_nomask).push_back(decision_nomask);
632 if(iEvent.
getByLabel(
"HBHENoiseFilterResultProducer",
"HBHENoiseFilterResult",filter_h)) {
634 iEvent.
getByLabel(
"HBHENoiseFilterResultProducer",
"HBHENoiseFilterResult", filter_h);
647 iEvent.
getByLabel(
"cleanPatElectrons",electrons);
650 iEvent.
getByLabel(
"selectedPatElectronsPF",PFelectrons);
653 iEvent.
getByLabel(
"cleanPatPhotons", photons);
656 iEvent.
getByLabel(
"offlinePrimaryVertices", vertexCollection);
659 iEvent.
getByLabel(
"particleFlow", pfCandidatesH);
666 iEvent.
getByLabel(
"offlineBeamSpot", bsHandle);
670 iEvent.
getByLabel(
"allConversions", hConversions);
673 iEvent.
getByLabel(
"scalersRawToDigi", dcsHandle);
679 iRun.
getByLabel(
"conditionsInEdm", condInRunBlock);
684 iEvent.
getByLabel(
"BFieldColl",
"BField", bfield_);
698 float currentToBFieldScaleFactor = 2.09237036221512717e-04;
700 if(dcsHandle->size()>0) current = (*dcsHandle)[0].magnetCurrent();
701 else current = condInRunBlock->BAvgCurrent;
702 evt_bField = current*currentToBFieldScaleFactor;
711 evt_bField = (*bfield_)[0];
719 iEvent.
getByLabel(
"elPFIsoValueCharged03PFIdPFIso", electronIsoValPFId[0]);
720 iEvent.
getByLabel(
"elPFIsoValueGamma03PFIdPFIso", electronIsoValPFId[1]);
721 iEvent.
getByLabel(
"elPFIsoValueNeutral03PFIdPFIso", electronIsoValPFId[2]);
724 for(std::vector<pat::Electron>::const_iterator elec=electrons->begin(); elec!=electrons->end(); ++elec) {
729 throw cms::Exception(
"GsfElectron")<<
"No GsfElectron matched to pat::Electron.\n";
739 (*els_conversion_dist).push_back(convInfo.
dist());
740 (*els_conversion_dcot).push_back(convInfo.
dcot());
745 (*els_hasMatchedConversion).push_back(hasMatchedConversion);
749 double charged = (*(*electronIsoVals)[0])[gsfel];
750 double photon = (*(*electronIsoVals)[1])[gsfel];
751 double neutral = (*(*electronIsoVals)[2])[gsfel];
753 (*els_PFchargedHadronIsoR03).push_back(charged);
754 (*els_PFphotonIsoR03).push_back(photon);
755 (*els_PFneutralHadronIsoR03).push_back(neutral);
761 for(std::vector<pat::Electron>::const_iterator elec=PFelectrons->begin(); elec!=PFelectrons->end(); ++elec) {
766 throw cms::Exception(
"GsfElectron")<<
"No GsfElectron matched to pat::Electron.\n";
770 (*pf_els_hasMatchedConversion).push_back(hasMatchedConversion);
774 double charged = (*(*electronIsoVals)[0])[gsfel];
775 double photon = (*(*electronIsoVals)[1])[gsfel];
776 double neutral = (*(*electronIsoVals)[2])[gsfel];
777 (*pf_els_PFchargedHadronIsoR03).push_back(charged);
778 (*pf_els_PFphotonIsoR03).push_back(photon);
779 (*pf_els_PFneutralHadronIsoR03).push_back(neutral);
785 iEvent.
getByLabel(
"allConversions", hVetoConversions);
788 iEvent.
getByLabel(
"gsfElectrons", hVetoElectrons);
795 unsigned int ivtx = 0;
796 VertexRef myVtxRef(vertexCollection, ivtx);
798 bool passelectronveto =
false;
800 for(std::vector<pat::Photon>::const_iterator ph=photons->begin(); ph!=photons->end(); ++ph) {
818 (*photon_passElectronVeto).push_back(passelectronveto);
828 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFL2L3", ak5PFL2L3_);
830 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFL2L3Residual", ak5PFL2L3Residual_);
832 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFL1FastL2L3", ak5PFL1FastL2L3_);
834 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFL1L2L3", ak5PFL1L2L3_);
836 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFL1FastL2L3Residual", ak5PFL1FastL2L3Residual_);
838 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFL1L2L3Residual", ak5PFL1L2L3Residual_);
840 iEvent.
getByLabel(
"JetCorrColl",
"ak5PFUncert", ak5PFUncert_);
842 if(jets->size() != (*ak5PFL2L3_).size()) {
844 <<
"cleanPatJetsAK5PF collection different size than JetCorrColl.\n";
850 for(uint it=0; it<(*ak5PFL2L3_).size(); it++){
851 if((jets->at(it)).
pt()>10) {
852 (*jets_AK5PFclean_corrL2L3_).push_back((*ak5PFL2L3_)[it]);
853 (*jets_AK5PFclean_corrL2L3Residual_).push_back((*ak5PFL2L3Residual_)[it]);
854 (*jets_AK5PFclean_corrL1FastL2L3_).push_back((*ak5PFL1FastL2L3_)[it]);
855 (*jets_AK5PFclean_corrL1L2L3_).push_back((*ak5PFL1L2L3_)[it]);
856 (*jets_AK5PFclean_corrL1FastL2L3Residual_).push_back((*ak5PFL1FastL2L3Residual_)[it]);
857 (*jets_AK5PFclean_corrL1L2L3Residual_).push_back((*ak5PFL1L2L3Residual_)[it]);
858 (*jets_AK5PFclean_Uncert_).push_back((*ak5PFUncert_)[it]);
871 std::vector<PileupSummaryInfo>::const_iterator PVI;
873 for(PVI = PupInfo->begin(); PVI != PupInfo->end(); ++PVI) {
875 (*PU_NumInteractions_).push_back(PVI->getPU_NumInteractions());
876 (*PU_bunchCrossing_).push_back(PVI->getBunchCrossing());
877 (*PU_TrueNumInteractions_).push_back(PVI->getTrueNumInteractions());
878 (*PU_zpositions_).push_back(PVI->getPU_zpositions());
879 (*PU_sumpT_lowpT_).push_back(PVI->getPU_sumpT_lowpT());
880 (*PU_sumpT_highpT_).push_back(PVI->getPU_sumpT_highpT());
881 (*PU_ntrks_lowpT_).push_back(PVI->getPU_ntrks_lowpT());
882 (*PU_ntrks_highpT_).push_back(PVI->getPU_ntrks_highpT());
888 iEvent.
getByLabel(
"kt6PFJetsForIsolation2011",
"rho", rho_);
895 else if(iEvent.
getByLabel(
"kt6PFJetsForIsolation2012",
"rho", rho_)){
896 iEvent.
getByLabel(
"kt6PFJetsForIsolation2012",
"rho", rho_);
902 double htEvent = 0.0;
907 const std::vector<lhef::HEPEUP::FiveVector> pup_ = hepeup_.
PUP;
909 size_t iMax = hepeup_.
NUP;
910 for(
size_t i = 2;
i < iMax; ++
i) {
911 if( hepeup_.
ISTUP[
i] != 1 )
continue;
913 if( idabs != 21 && (idabs<1 || idabs>6) )
continue;
925 double sigmaX2= (pfMEThandle->front() ).getSignificanceMatrix()(0,0);
926 double sigmaY2= (pfMEThandle->front() ).getSignificanceMatrix()(1,1);
927 float significance = -1;
930 if(sigmaX2<1.e10 && sigmaY2<1.e10) significance = (pfMEThandle->front() ).significance();
933 std::cout <<
"Caught exception in MET significance calculation:\n"
935 <<
"Setting MET significance to -1.0\n"
950 iEvent.
getByLabel(pdfWeightTag, weightHandle);
953 std::vector<double>
weights = (*weightHandle);
954 unsigned int nmembers = weights.size();
960 iEvent.
getByLabel(pdfWeightTag2, weightHandle2);
963 std::vector<double> weights2 = (*weightHandle2);
964 unsigned int nmembers2 = weights2.size();
965 for (
unsigned int j2=0; j2<nmembers2; j2++)
pdfweights_mstw_->push_back(weights2[j2]);
970 iEvent.
getByLabel(pdfWeightTag3, weightHandle3);
973 std::vector<double> weights3 = (*weightHandle3);
974 unsigned int nmembers3 = weights3.size();
975 for (
unsigned int j3=0; j3<nmembers3; j3++)
pdfweights_nnpdf_->push_back(weights3[j3]);
980 const double piconst = 3.141592653589793;
981 const double twopiconst = 2.0*piconst;
982 const int phibins = 100;
983 const double phibinsize = twopiconst/
static_cast<double>(phibins);
991 int phiIterPixelTrks[phibins][2] = { {0} };
992 int phiIterTobTecTrks[phibins][2] = { {0} };
993 double n_iterPixelTrks = 0;
994 double n_iterTobTecTrks = 0;
1002 for (reco::TrackCollection::const_iterator trk=trks->begin(); trk!=trks->end(); ++trk){
1003 trkalgo = trk->algo();
1004 if (trkalgo >= pxlmin && trkalgo <= pxlmax) ++n_iterPixelTrks;
1005 if (trkalgo == itertobtec) ++n_iterTobTecTrks;
1006 trkabseta = fabs(trk->eta());
1008 if (trk->eta() > 0) zside = 1;
1009 if (trkabseta < 1.6 && trkabseta > 0.9) {
1010 i_trkphi =
std::max(0,
std::min(phibins-1,(
int) ((trk->phi()+piconst)/phibinsize)));
1011 if (trkalgo >= pxlmin && trkalgo <= pxlmax) ++phiIterPixelTrks[i_trkphi][
zside];
1012 if (trkalgo == itertobtec) ++phiIterTobTecTrks[i_trkphi][
zside];
1015 if (n_iterPixelTrks < 0.5) n_iterPixelTrks = 1.0;
1016 double ritertobtec = n_iterTobTecTrks / n_iterPixelTrks;
1021 int windowRange =
std::max(1,static_cast<int>(0.7/phibinsize+0.5));
1022 int runPhiIterTobTec[phibins][2] = { {0} };
1024 int maxIterTobTecPhiTrks = -1;
1025 int maxIterTobTecPhiTrksBin = -1;
1026 int maxIterTobTecPhiTrksZBin = -1;
1028 for (
int iphi = phibins-windowRange+1; iphi < phibins; ++iphi) {
1029 runPhiIterTobTec[0][
zside] += phiIterTobTecTrks[iphi][
zside];
1031 runPhiIterTobTec[0][
zside] += phiIterTobTecTrks[0][
zside];
1032 for (
int iphi = 1; iphi < phibins; ++iphi) {
1033 lowindx = iphi-windowRange;
1034 if (lowindx < 0) lowindx += phibins;
1035 runPhiIterTobTec[iphi][
zside] = runPhiIterTobTec[iphi-1][
zside] + phiIterTobTecTrks[iphi][
zside] - phiIterTobTecTrks[lowindx][
zside];
1036 if (runPhiIterTobTec[iphi][
zside] > maxIterTobTecPhiTrks) {
1037 maxIterTobTecPhiTrks = runPhiIterTobTec[iphi][
zside];
1038 maxIterTobTecPhiTrksBin = iphi;
1039 maxIterTobTecPhiTrksZBin =
zside;
1043 double n_iterTobTecTrksInIterTobTecJet =
static_cast<double>(maxIterTobTecPhiTrks);
1044 double n_iterPixelTrksInIterTobTecJet = 0.0;
1049 for (
int iphi = maxIterTobTecPhiTrksBin-windowRange+1; iphi < maxIterTobTecPhiTrksBin+1; ++iphi) {
1050 indx = iphi < 0 ? phibins+iphi : iphi;
1051 n_iterPixelTrksInIterTobTecJet += phiIterPixelTrks[indx][maxIterTobTecPhiTrksZBin];
1053 if (n_iterPixelTrksInIterTobTecJet < 0.5) n_iterPixelTrksInIterTobTecJet = 1.0;
1055 double ritertobtecjet = n_iterTobTecTrksInIterTobTecJet / n_iterPixelTrksInIterTobTecJet;
1066 iEvent.
getByLabel(
"selectedPatJetsPF",pujets);
1067 const View<pat::Jet> & jetss = *pujets;
1074 iEvent.
getByLabel(
"puJetMvaChs",
"fullDiscriminant",puJetIdMVA_full);
1076 iEvent.
getByLabel(
"puJetMvaChs",
"fullId",puJetIdFlag_full);
1081 iEvent.
getByLabel(
"puJetMvaChs",
"cutbasedDiscriminant",puJetIdMVA_cutbased);
1083 iEvent.
getByLabel(
"puJetMvaChs",
"cutbasedId",puJetIdFlag_cutbased);
1085 std::vector<float> betavector;
1086 std::vector<float> mvavector;
1091 for (
unsigned int i=0;
i<jetss.size(); ++
i ) {
1094 float jpt = patjet.
pt();
1097 if ( jpt*jec>10.0 || jpt>20.0 ) {
1099 float pt = (*puJetId)[jetss.refAt(
i)].jetPt() ;
1100 float eta = (*puJetId)[jetss.refAt(
i)].jetEta() ;
1101 float beta = (*puJetId)[jetss.refAt(
i)].beta() ;
1102 float betaStar = (*puJetId)[jetss.refAt(
i)].betaStar() ;
1103 float betaClassic = (*puJetId)[jetss.refAt(
i)].betaClassic() ;
1104 float betaStarClassic = (*puJetId)[jetss.refAt(
i)].betaStarClassic() ;
1107 betavector.push_back(pt);
1108 betavector.push_back(eta);
1109 betavector.push_back(beta);
1110 betavector.push_back(betaStar);
1111 betavector.push_back(betaClassic);
1112 betavector.push_back(betaStarClassic);
1114 (*puJet_rejectionBeta).push_back(betavector);
1120 for (
unsigned int jeti = 0; jeti != jetss.size(); jeti++) {
1121 const pat::Jet & patjet = jetss.at(jeti);
1122 float pt = patjet.
pt() ;
1123 float eta = patjet.
eta();
1127 if ( pt*jec>10.0 || pt>20.0 ) {
1129 float mvaF = (*puJetIdMVA_full)[jetss.refAt(jeti)];
1130 int idflagF = (*puJetIdFlag_full)[jetss.refAt(jeti)];
1131 float mvaC = (*puJetIdMVA_cutbased)[jetss.refAt(jeti)];
1132 int idflagC = (*puJetIdFlag_cutbased)[jetss.refAt(jeti)];
1134 mvavector.push_back(pt);
1135 mvavector.push_back(eta);
1136 mvavector.push_back(mvaF);
1137 mvavector.push_back(idflagF);
1138 mvavector.push_back(mvaC);
1139 mvavector.push_back(idflagC);
1141 (*puJet_rejectionMVA).push_back(mvavector);
1149 iEvent.
getByLabel(
"pfMetSig",
"METSignificance", metsigHandle);
1151 iEvent.
getByLabel(
"pfMetSig",
"CovarianceMatrix00", metsigm00Handle);
1153 iEvent.
getByLabel(
"pfMetSig",
"CovarianceMatrix10", metsigm10Handle);
1155 iEvent.
getByLabel(
"pfMetSig",
"CovarianceMatrix11", metsigm11Handle);
1166 (*trigger_prescalevalue).clear();
1167 (*trigger_name).clear();
1168 (*trigger_decision).clear();
1169 (*trigger_lastfiltername).clear();
1170 (*triggerobject_pt).clear();
1171 (*triggerobject_px).clear();
1172 (*triggerobject_py).clear();
1173 (*triggerobject_pz).clear();
1174 (*triggerobject_et).clear();
1175 (*triggerobject_energy).clear();
1176 (*triggerobject_phi).clear();
1177 (*triggerobject_eta).clear();
1178 (*triggerobject_collectionname).clear();
1179 (*standalone_triggerobject_pt).clear();
1180 (*standalone_triggerobject_px).clear();
1181 (*standalone_triggerobject_py).clear();
1182 (*standalone_triggerobject_pz).clear();
1183 (*standalone_triggerobject_et).clear();
1184 (*standalone_triggerobject_energy).clear();
1185 (*standalone_triggerobject_phi).clear();
1186 (*standalone_triggerobject_eta).clear();
1187 (*standalone_triggerobject_collectionname).clear();
1188 (*L1trigger_bit).clear();
1189 (*L1trigger_techTrigger).clear();
1190 (*L1trigger_prescalevalue).clear();
1191 (*L1trigger_name).clear();
1192 (*L1trigger_alias).clear();
1193 (*L1trigger_decision).clear();
1194 (*L1trigger_decision_nomask).clear();
1195 (*els_conversion_dist).clear();
1196 (*els_conversion_dcot).clear();
1197 (*els_PFchargedHadronIsoR03).clear();
1198 (*els_PFphotonIsoR03).clear();
1199 (*els_PFneutralHadronIsoR03).clear();
1200 (*els_hasMatchedConversion).clear();
1201 (*pf_els_PFchargedHadronIsoR03).clear();
1202 (*pf_els_PFphotonIsoR03).clear();
1203 (*pf_els_PFneutralHadronIsoR03).clear();
1204 (*pf_els_hasMatchedConversion).clear();
1205 (*jets_AK5PFclean_corrL2L3_).clear();
1206 (*jets_AK5PFclean_corrL2L3Residual_).clear();
1207 (*jets_AK5PFclean_corrL1FastL2L3_).clear();
1208 (*jets_AK5PFclean_corrL1L2L3_).clear();
1209 (*jets_AK5PFclean_corrL1FastL2L3Residual_).clear();
1210 (*jets_AK5PFclean_corrL1L2L3Residual_).clear();
1211 (*jets_AK5PFclean_Uncert_).clear();
1212 (*PU_zpositions_).clear();
1213 (*PU_sumpT_lowpT_).clear();
1214 (*PU_sumpT_highpT_).clear();
1215 (*PU_ntrks_lowpT_).clear();
1216 (*PU_ntrks_highpT_).clear();
1217 (*PU_NumInteractions_).clear();
1218 (*PU_bunchCrossing_).clear();
1219 (*PU_TrueNumInteractions_).clear();
1220 (*pdfweights_cteq_).clear();
1221 (*pdfweights_mstw_).clear();
1222 (*pdfweights_nnpdf_).clear();
1223 (*photon_chIsoValues).clear();
1224 (*photon_phIsoValues).clear();
1225 (*photon_nhIsoValues).clear();
1226 (*photon_passElectronVeto).clear();
1227 (*puJet_rejectionBeta).clear();
1228 (*puJet_rejectionMVA).clear();
virtual char const * what() const
T getParameter(std::string const &) const
bool getByLabel(std::string const &label, Handle< PROD > &result) const
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
float getIsolationPhoton()
std::vector< float > * els_PFchargedHadronIsoR03
std::vector< std::vector< float > > * triggerobject_pt
int * trackertoomanytripletsfilter_decision_
std::vector< std::vector< float > > * PU_sumpT_lowpT_
virtual float pt() const
transverse momentum
std::vector< std::string > * standalone_triggerobject_collectionname
std::vector< float > * pdfweights_cteq_
float * pfmets_fullSignif_2012_
virtual double et() const
transverse energy
int * greedymuonfilter_decision_
std::vector< bool > * els_hasMatchedConversion
std::vector< float > * jets_AK5PFclean_Uncert_
std::vector< float > * PU_TrueNumInteractions_
std::vector< float > * jets_AK5PFclean_corrL1L2L3_
std::vector< float > * standalone_triggerobject_energy
std::vector< float > * jets_AK5PFclean_corrL2L3Residual_
std::vector< std::vector< float > > * triggerobject_px
ConversionInfo getConversionInfo(const reco::GsfElectronCore &, const edm::Handle< reco::TrackCollection > &ctftracks_h, const edm::Handle< reco::GsfTrackCollection > &gsftracks_h, const double bFieldAtOrigin, const double minFracSharedHits=0.45)
virtual float phi() const
momentum azimuthal angle
uint registerleaves(edm::ProducerBase *producer)
float * pfmets_fullSignifCov00_
std::vector< bool > * photon_passElectronVeto
std::vector< std::string > * trigger_name
std::vector< std::vector< float > > * puJet_rejectionMVA
bool exists(std::string const ¶meterName) const
checks if a parameter exists
int * ecalBEfilter_decision_
int * scrapingVeto_decision_
int * passprescaleHT450filter_decision_
T * make(const Args &...args) const
make new ROOT object
int * trackercoherentnoisefilter1_decision_
Run const & getRun() const
std::vector< std::vector< float > > * triggerobject_energy
const_iterator end() const
Termination of iteration.
std::vector< edm::Handle< edm::ValueMap< double > > > IsoDepositVals
Analysis-level trigger object class.
std::vector< int > * PU_NumInteractions_
std::vector< std::vector< float > > * triggerobject_py
std::vector< std::vector< float > > * triggerobject_pz
int * trackertoomanyclustersfilter_decision_
const_iterator begin() const
Initialize an iterator over the RefVector.
std::vector< float > * els_PFneutralHadronIsoR03
std::vector< std::string > * L1trigger_alias
float getIsolationCharged()
std::vector< float > * jets_AK5PFclean_corrL1L2L3Residual_
std::vector< bool > * pf_els_hasMatchedConversion
std::vector< float > * L1trigger_bit
float * pfmets_fullSignifCov00_2012_
virtual double energy() const
energy
float * pfmets_fullSignifCov10_2012_
Analysis-level HLTrigger filter class.
std::vector< float > * standalone_triggerobject_pt
int * passprescaleHT350filter_decision_
std::vector< float > * els_conversion_dist
std::vector< float > * jets_AK5PFclean_corrL1FastL2L3_
virtual float eta() const
momentum pseudorapidity
int * hbhefilter_decision_
std::vector< FiveVector > PUP
int * passprescalePFHT350filter_decision_
std::vector< float > * standalone_triggerobject_py
std::vector< float > * jets_AK5PFclean_corrL2L3_
const std::string & collection() const
Get the label of the collection the trigger object originates from.
std::vector< float > * L1trigger_decision
std::vector< float > * trigger_decision
std::vector< float > * L1trigger_techTrigger
float * rho_kt6PFJetsForIsolation2011_
T get() const
get a component
Abs< T >::type abs(const T &t)
std::vector< float > * trigger_prescalevalue
std::vector< float > * els_conversion_dcot
float * pfmets_fullSignifCov11_2012_
std::vector< std::vector< int > > * PU_ntrks_lowpT_
float * trk_ratioAllTOBTEC
std::vector< std::vector< float > > * triggerobject_phi
int * hcallaserfilter_decision_
std::vector< float > * photon_chIsoValues
std::vector< float > * standalone_triggerobject_et
edm::Ref< VertexCollection > VertexRef
persistent reference to a Vertex
int * cschalofilter_decision_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< std::string > * trigger_lastfiltername
int * passprescaleHT300filter_decision_
std::vector< std::vector< float > > * triggerobject_et
std::vector< std::vector< std::string > > * triggerobject_collectionname
TFile & file() const
return opened TFile
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
T const * product() const
virtual double px() const
x coordinate of momentum vector
std::vector< std::vector< float > > * puJet_rejectionBeta
std::vector< float > * L1trigger_prescalevalue
std::string const & triggerName(unsigned int index) const
float * pfmets_fullSignif_
Analysis-level calorimeter jet class.
std::vector< std::vector< float > > * triggerobject_eta
std::vector< float > * standalone_triggerobject_pz
virtual double pz() const
z coordinate of momentum vector
int * passprescaleHT400filter_decision_
std::vector< float > * standalone_triggerobject_eta
int * trackercoherentnoisefilter2_decision_
float * pfmets_fullSignifCov10_
std::vector< std::vector< int > > * PU_ntrks_highpT_
std::vector< float > * standalone_triggerobject_phi
std::vector< std::vector< float > > * PU_zpositions_
float getIsolationNeutral()
std::vector< float > * standalone_triggerobject_px
std::vector< float > * photon_nhIsoValues
void initializePhotonIsolation(Bool_t bApplyVeto)
float fGetIsolation(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
const std::string & label() const
Get the filter label.
size_type size() const
Size of the RefVector.
int * trackingfailurefilter_decision_
int * ecalTPfilter_decision_
const Point & position() const
position
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
std::vector< int > * PU_bunchCrossing_
std::vector< float > * pdfweights_nnpdf_
int * ecallaserfilter_decision_
int * trackertoomanyseedsfilter_decision_
int * eenoisefilter_decision_
std::vector< std::vector< float > > * PU_sumpT_highpT_
float * rho_kt6PFJetsForIsolation2012_
int * inconsistentPFmuonfilter_decision_
void setConeSize(float fValue=0.4)
std::vector< float > * pdfweights_mstw_
std::vector< float > * pf_els_PFchargedHadronIsoR03
std::vector< float > * jets_AK5PFclean_corrL1FastL2L3Residual_
float * pfmets_fullSignifCov11_
std::vector< float > * pf_els_PFneutralHadronIsoR03
int * passprescaleHT250filter_decision_
virtual double py() const
y coordinate of momentum vector
Power< A, B >::type pow(const A &a, const B &b)
std::vector< std::string > * L1trigger_name
std::vector< float > * els_PFphotonIsoR03
AdHocNTupler(const edm::ParameterSet &iConfig)
float * trk_ratioJetTOBTEC
std::vector< float > * photon_phIsoValues
std::vector< float > * L1trigger_decision_nomask
int * eebadscfilter_decision_
void fill(edm::Event &iEvent)
std::vector< float > * pf_els_PFphotonIsoR03