35 #include "EGamma/EGammaAnalysisTools/src/PFIsolationEstimator.cc" 41 #include "CMGTools/External/interface/PileupJetIdentifier.h" 51 if (adHocPSet.
exists(
"useTFileService"))
57 if (adHocPSet.
exists(
"treeName")){
298 tree_=fs->
make<TTree>(
treeName_.c_str(),
"StringBasedNTupler tree");
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();
535 double energy = triggerObject->
energy();
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();
595 double energy =
to->energy();
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();
702 evt_bField = current*currentToBFieldScaleFactor;
711 evt_bField = (*bfield_)[0];
717 IsoDepositVals electronIsoValPFId(3);
718 const IsoDepositVals * electronIsoVals = &electronIsoValPFId;
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();
955 for (
unsigned int j=0; j<nmembers; j++)
pdfweights_cteq_->push_back(weights[j]);
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);
987 int phiIterPixelTrks[phibins][2] = { {0} };
988 int phiIterTobTecTrks[phibins][2] = { {0} };
989 double n_iterPixelTrks = 0;
990 double n_iterTobTecTrks = 0;
998 for (reco::TrackCollection::const_iterator trk=trks->begin(); trk!=trks->end(); ++trk){
999 trkalgo = trk->algo();
1015 trkabseta = fabs(trk->eta());
1017 if (trk->eta() > 0) zside = 1;
1018 if (trkabseta < 1.6 && trkabseta > 0.9) {
1019 i_trkphi =
std::max(0,
std::min(phibins-1,(
int) ((trk->phi()+piconst)/phibinsize)));
1026 ++phiIterPixelTrks[i_trkphi][
zside];
1029 ++phiIterTobTecTrks[i_trkphi][
zside];
1036 if (n_iterPixelTrks < 0.5) n_iterPixelTrks = 1.0;
1037 double ritertobtec = n_iterTobTecTrks / n_iterPixelTrks;
1042 int windowRange =
std::max(1,static_cast<int>(0.7/phibinsize+0.5));
1043 int runPhiIterTobTec[phibins][2] = { {0} };
1045 int maxIterTobTecPhiTrks = -1;
1046 int maxIterTobTecPhiTrksBin = -1;
1047 int maxIterTobTecPhiTrksZBin = -1;
1049 for (
int iphi = phibins-windowRange+1; iphi < phibins; ++iphi) {
1050 runPhiIterTobTec[0][
zside] += phiIterTobTecTrks[iphi][
zside];
1052 runPhiIterTobTec[0][
zside] += phiIterTobTecTrks[0][
zside];
1053 for (
int iphi = 1; iphi < phibins; ++iphi) {
1054 lowindx = iphi-windowRange;
1055 if (lowindx < 0) lowindx += phibins;
1056 runPhiIterTobTec[iphi][
zside] = runPhiIterTobTec[iphi-1][
zside] + phiIterTobTecTrks[iphi][
zside] - phiIterTobTecTrks[lowindx][
zside];
1057 if (runPhiIterTobTec[iphi][
zside] > maxIterTobTecPhiTrks) {
1058 maxIterTobTecPhiTrks = runPhiIterTobTec[iphi][
zside];
1059 maxIterTobTecPhiTrksBin = iphi;
1060 maxIterTobTecPhiTrksZBin =
zside;
1064 double n_iterTobTecTrksInIterTobTecJet =
static_cast<double>(maxIterTobTecPhiTrks);
1065 double n_iterPixelTrksInIterTobTecJet = 0.0;
1070 for (
int iphi = maxIterTobTecPhiTrksBin-windowRange+1; iphi < maxIterTobTecPhiTrksBin+1; ++iphi) {
1071 indx = iphi < 0 ? phibins+iphi : iphi;
1072 n_iterPixelTrksInIterTobTecJet += phiIterPixelTrks[indx][maxIterTobTecPhiTrksZBin];
1074 if (n_iterPixelTrksInIterTobTecJet < 0.5) n_iterPixelTrksInIterTobTecJet = 1.0;
1076 double ritertobtecjet = n_iterTobTecTrksInIterTobTecJet / n_iterPixelTrksInIterTobTecJet;
1087 iEvent.
getByLabel(
"selectedPatJetsPF",pujets);
1088 const View<pat::Jet> & jetss = *pujets;
1095 iEvent.
getByLabel(
"puJetMvaChs",
"fullDiscriminant",puJetIdMVA_full);
1097 iEvent.
getByLabel(
"puJetMvaChs",
"fullId",puJetIdFlag_full);
1102 iEvent.
getByLabel(
"puJetMvaChs",
"cutbasedDiscriminant",puJetIdMVA_cutbased);
1104 iEvent.
getByLabel(
"puJetMvaChs",
"cutbasedId",puJetIdFlag_cutbased);
1106 std::vector<float> betavector;
1107 std::vector<float> mvavector;
1112 for (
unsigned int i=0;
i<jetss.size(); ++
i ) {
1115 float jpt = patjet.
pt();
1118 if ( jpt*jec>10.0 || jpt>20.0 ) {
1120 float pt = (*puJetId)[jetss.refAt(
i)].jetPt() ;
1121 float eta = (*puJetId)[jetss.refAt(
i)].jetEta() ;
1122 float beta = (*puJetId)[jetss.refAt(
i)].beta() ;
1123 float betaStar = (*puJetId)[jetss.refAt(
i)].betaStar() ;
1124 float betaClassic = (*puJetId)[jetss.refAt(
i)].betaClassic() ;
1125 float betaStarClassic = (*puJetId)[jetss.refAt(
i)].betaStarClassic() ;
1128 betavector.push_back(pt);
1129 betavector.push_back(eta);
1130 betavector.push_back(beta);
1131 betavector.push_back(betaStar);
1132 betavector.push_back(betaClassic);
1133 betavector.push_back(betaStarClassic);
1135 (*puJet_rejectionBeta).push_back(betavector);
1141 for (
unsigned int jeti = 0; jeti != jetss.size(); jeti++) {
1142 const pat::Jet & patjet = jetss.at(jeti);
1143 float pt = patjet.
pt() ;
1144 float eta = patjet.
eta();
1148 if ( pt*jec>10.0 || pt>20.0 ) {
1150 float mvaF = (*puJetIdMVA_full)[jetss.refAt(jeti)];
1151 int idflagF = (*puJetIdFlag_full)[jetss.refAt(jeti)];
1152 float mvaC = (*puJetIdMVA_cutbased)[jetss.refAt(jeti)];
1153 int idflagC = (*puJetIdFlag_cutbased)[jetss.refAt(jeti)];
1155 mvavector.push_back(pt);
1156 mvavector.push_back(eta);
1157 mvavector.push_back(mvaF);
1158 mvavector.push_back(idflagF);
1159 mvavector.push_back(mvaC);
1160 mvavector.push_back(idflagC);
1162 (*puJet_rejectionMVA).push_back(mvavector);
1170 iEvent.
getByLabel(
"pfMetSig",
"METSignificance", metsigHandle);
1172 iEvent.
getByLabel(
"pfMetSig",
"CovarianceMatrix00", metsigm00Handle);
1174 iEvent.
getByLabel(
"pfMetSig",
"CovarianceMatrix10", metsigm10Handle);
1176 iEvent.
getByLabel(
"pfMetSig",
"CovarianceMatrix11", metsigm11Handle);
1187 (*trigger_prescalevalue).clear();
1188 (*trigger_name).clear();
1189 (*trigger_decision).clear();
1190 (*trigger_lastfiltername).clear();
1191 (*triggerobject_pt).clear();
1192 (*triggerobject_px).clear();
1193 (*triggerobject_py).clear();
1194 (*triggerobject_pz).clear();
1195 (*triggerobject_et).clear();
1196 (*triggerobject_energy).clear();
1197 (*triggerobject_phi).clear();
1198 (*triggerobject_eta).clear();
1199 (*triggerobject_collectionname).clear();
1200 (*standalone_triggerobject_pt).clear();
1201 (*standalone_triggerobject_px).clear();
1202 (*standalone_triggerobject_py).clear();
1203 (*standalone_triggerobject_pz).clear();
1204 (*standalone_triggerobject_et).clear();
1205 (*standalone_triggerobject_energy).clear();
1206 (*standalone_triggerobject_phi).clear();
1207 (*standalone_triggerobject_eta).clear();
1208 (*standalone_triggerobject_collectionname).clear();
1209 (*L1trigger_bit).clear();
1210 (*L1trigger_techTrigger).clear();
1211 (*L1trigger_prescalevalue).clear();
1212 (*L1trigger_name).clear();
1213 (*L1trigger_alias).clear();
1214 (*L1trigger_decision).clear();
1215 (*L1trigger_decision_nomask).clear();
1216 (*els_conversion_dist).clear();
1217 (*els_conversion_dcot).clear();
1218 (*els_PFchargedHadronIsoR03).clear();
1219 (*els_PFphotonIsoR03).clear();
1220 (*els_PFneutralHadronIsoR03).clear();
1221 (*els_hasMatchedConversion).clear();
1222 (*pf_els_PFchargedHadronIsoR03).clear();
1223 (*pf_els_PFphotonIsoR03).clear();
1224 (*pf_els_PFneutralHadronIsoR03).clear();
1225 (*pf_els_hasMatchedConversion).clear();
1226 (*jets_AK5PFclean_corrL2L3_).clear();
1227 (*jets_AK5PFclean_corrL2L3Residual_).clear();
1228 (*jets_AK5PFclean_corrL1FastL2L3_).clear();
1229 (*jets_AK5PFclean_corrL1L2L3_).clear();
1230 (*jets_AK5PFclean_corrL1FastL2L3Residual_).clear();
1231 (*jets_AK5PFclean_corrL1L2L3Residual_).clear();
1232 (*jets_AK5PFclean_Uncert_).clear();
1233 (*PU_zpositions_).clear();
1234 (*PU_sumpT_lowpT_).clear();
1235 (*PU_sumpT_highpT_).clear();
1236 (*PU_ntrks_lowpT_).clear();
1237 (*PU_ntrks_highpT_).clear();
1238 (*PU_NumInteractions_).clear();
1239 (*PU_bunchCrossing_).clear();
1240 (*PU_TrueNumInteractions_).clear();
1241 (*pdfweights_cteq_).clear();
1242 (*pdfweights_mstw_).clear();
1243 (*pdfweights_nnpdf_).clear();
1244 (*photon_chIsoValues).clear();
1245 (*photon_phIsoValues).clear();
1246 (*photon_nhIsoValues).clear();
1247 (*photon_passElectronVeto).clear();
1248 (*puJet_rejectionBeta).clear();
1249 (*puJet_rejectionMVA).clear();
T getParameter(std::string const &) const
virtual double pt() const final
transverse momentum
bool getByLabel(std::string const &label, Handle< PROD > &result) const
float getIsolationPhoton()
std::vector< float > * els_PFchargedHadronIsoR03
std::vector< std::vector< float > > * triggerobject_pt
const lhef::HEPEUP & hepeup() const
int * trackertoomanytripletsfilter_decision_
std::vector< std::vector< float > > * PU_sumpT_lowpT_
std::vector< std::string > * standalone_triggerobject_collectionname
std::vector< float > * pdfweights_cteq_
float * pfmets_fullSignif_2012_
int * greedymuonfilter_decision_
virtual double eta() const final
momentum pseudorapidity
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)
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
TriggerFilterRefVector pathFilters(const std::string &namePath, bool firing=true) const
Get a vector of references to all active HLT filters assigned to a certain path given by name...
char const * what() const override
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
virtual double phi() const final
momentum azimuthal angle
TriggerObjectRefVector filterObjects(const std::string &labelFilter) const
Get a vector of references to all objects, which were used in a certain filter given by name...
std::vector< std::string > * L1trigger_alias
float getIsolationCharged()
std::vector< float > * jets_AK5PFclean_corrL1L2L3Residual_
virtual double et() const final
transverse energy
std::vector< bool > * pf_els_hasMatchedConversion
std::vector< float > * L1trigger_bit
float * pfmets_fullSignifCov00_2012_
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 double px() const final
x coordinate of momentum vector
unsigned int size() const
Get number of paths stored.
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.
virtual double energy() const final
energy
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_
virtual double pz() const final
z coordinate of momentum vector
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
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
et
define resolution functions of each parameter
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_
virtual double py() const final
y coordinate of momentum vector
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
std::vector< float > * pf_els_PFneutralHadronIsoR03
int * passprescaleHT250filter_decision_
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