73 tok_L1GTrorsrc_ = consumes<L1GlobalTriggerReadoutRecord>(L1GTReadoutRcdSource_);
74 tok_L1GTobjmap_ = consumes<L1GlobalTriggerObjectMapRecord>(L1GTObjectMapRcdSource_);
75 tok_L1extMusrc_ = consumes<l1extra::L1MuonParticleCollection>(L1extraMuonSource_);
76 tok_L1Em_ = consumes<l1extra::L1EmParticleCollection>(L1extraIsoEmSource_);
78 tok_L1extTauJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraTauJetSource_);
79 tok_L1extCenJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraCenJetSource_);
80 tok_L1extFwdJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraFwdJetSource_);
82 if (!strcmp(
"Dummy",
genSrc_.c_str())) {
83 if (useHepMC)
genSrc_ =
"generator";
87 <<
" pSeed " << pSeed <<
" ptMin " <<
ptMin <<
" etaMax " <<
etaMax
90 <<
" debug " <<
verbosity <<
" debugL1Info " << debugL1Info_ <<
"\n"
91 <<
" Isolation Flag " <<
a_Isolation <<
" with cut "
92 << pCutIsolate <<
" GeV"
142 std::cout <<
"\nL1GlobalTriggerReadoutRecord with \n \nnot found"
143 "\n --> returning false by default!\n" << std::endl;
146 std::cout <<
"\nL1GlobalTriggerObjectMapRecord with \n \nnot found"
147 "\n --> returning false by default!\n" << std::endl;
152 unsigned int numberTriggerBits= dWord.size();
157 std::cout <<
"\n Number of Trigger bits " << numberTriggerBits <<
"\n\n";
158 std::cout <<
"\tBit \t L1 Algorithm " << std::endl;
161 const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtOMRec->gtObjectMap();
162 for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
163 itMap != objMapVec.end(); ++itMap) {
166 int itrig = (*itMap).algoBitNumber();
180 for (
unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
181 bool accept = dWord[iBit];
193 l1extra::L1JetParticleCollection::const_iterator itr;
194 for(itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr ) {
199 std::cout <<
"tauJ p/pt " << itr->momentum() <<
" " << itr->pt()
200 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
208 for( itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr ) {
213 std::cout <<
"cenJ p/pt " << itr->momentum() <<
" " << itr->pt()
214 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
221 for( itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr ) {
226 std::cout <<
"fwdJ p/pt " << itr->momentum() <<
" " << itr->pt()
227 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
232 l1extra::L1EmParticleCollection::const_iterator itrEm;
235 for( itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm ) {
240 std::cout <<
"isoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
241 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
248 for( itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm ) {
253 std::cout <<
"nonIsoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
254 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
260 l1extra::L1MuonParticleCollection::const_iterator itrMu;
263 for( itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu ) {
268 std::cout <<
"l1muon p/pt " << itrMu->momentum() <<
" " << itrMu->pt()
269 <<
" eta/phi " << itrMu->eta() <<
" " << itrMu->phi()
279 const HepMC::GenEvent *myGenEvent = hepmc->GetEvent();
282 for (
unsigned int indx=0; indx<trackIDs.size(); ++indx) {
283 int charge = trackIDs[indx].charge;
284 HepMC::GenEvent::particle_const_iterator
p = trackIDs[indx].trkItr;
285 momVec =
math::XYZTLorentzVector((*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
286 if (
verbosity>1)
std::cout <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " << charge <<
" momVec " << momVec << std::endl;
289 std::abs(trackIDs[indx].pdgId)>=21)) {
292 posVec =
GlobalPoint(0.1*(*p)->production_vertex()->position().x(),
293 0.1*(*p)->production_vertex()->position().y(),
294 0.1*(*p)->production_vertex()->position().z());
295 posECAL = trackIDs[indx].pointECAL;
296 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL,
true);
297 if (
verbosity>1)
std::cout <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " << trackIDs[indx].okHCAL << std::endl;
298 if (trackIDs[indx].okECAL) {
311 if (trackIDs[indx].okHCAL) {
320 bool saveTrack =
true;
327 fillTrack (posVec, momVec, posECAL, 0,
false,
false);
333 HepMC::GenEvent::particle_const_iterator
p;
334 for (p=myGenEvent->particles_begin(),indx=0; p!=myGenEvent->particles_end();
336 int pdgId = ((*p)->pdg_id());
339 double pp = (*p)->momentum().rho();
340 double eta = (*p)->momentum().eta();
347 for (
unsigned int indx=0; indx<trackIDs.size(); ++indx) {
348 int charge = trackIDs[indx].charge;
349 reco::GenParticleCollection::const_iterator
p = trackIDs[indx].trkItr;
352 if (
verbosity>1)
std::cout <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " << charge <<
" momVec " << momVec << std::endl;
356 if (
verbosity>1)
std::cout <<
" pt " << momVec.Pt() <<
" eta " << momVec.eta() << std::endl;
358 posVec =
GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
359 posECAL = trackIDs[indx].pointECAL;
360 if (
verbosity>0)
std::cout <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " << trackIDs[indx].okHCAL << std::endl;
361 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL,
true);
362 if (trackIDs[indx].okECAL) {
375 if (trackIDs[indx].okHCAL) {
384 bool saveTrack =
true;
391 fillTrack (posVec, momVec, posECAL, 0,
false,
false);
397 reco::GenParticleCollection::const_iterator
p;
398 for (p=genParticles->begin(),indx=0; p!=genParticles->end(); ++
p,++indx) {
399 int pdgId = (p->pdgId());
402 double pp = (p->momentum()).
R();
403 double eta = (p->momentum()).
Eta();
422 double tempgen_TH[
NPBins+1] = { 0.0, 5.0, 12.0, 300.0};
425 double tempgen_Eta[
NEtaBins+1] = {0.0, 0.5, 1.1, 1.7, 2.3};
439 double pi = 3.141592654;
440 double twopi = 6.283185307;
444 if (diff < pi){
return diff;}
else {
return corr;}
448 double deta = eta1 - eta2;
454 double deta = eta1 - eta2;
456 return deta*deta + dphi*dphi;
468 double phi1 = momVec.phi();
469 double phi2 = (posECAL - posVec).
phi();
470 double dphi =
DeltaPhi( phi1, phi2 );
471 double deta = momVec.eta() - (posECAL - posVec).
eta();
671 h_L1AlgoNames =
fs->
make<TH1I>(
"h_L1AlgoNames",
"h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
673 double pBin[
PBins+1] = {0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 20.0, 30.0, 40.0, 50.0,
674 60.0, 70.0, 80.0, 90.0, 100.0, 150.0, 200.0, 250.0,
675 300.0, 350.0, 400.0, 450.0, 500.0, 550.0, 600.0,
676 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0,
678 double etaBin[
EtaBins+1] = {-3.0, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3,
679 -2.2, -2.1, -2.0, -1.9, -1.8, -1.7, -1.6, -1.5,
680 -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7,
681 -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1,
682 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
683 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7,
684 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5,
685 2.6, 2.7, 2.8, 2.9, 3.0};
687 "#pi^-",
"K^+",
"K^-",
"p",
"n",
"pbar",
692 sprintf (name,
"pEta%d",
i);
693 sprintf (title,
"#eta vs momentum for %s", particle[
i].c_str());
855 t_muEneR =
new std::vector<double>();
913 tree->Branch(
"t_isoTrkPAll",
"vector<double>", &t_isoTrkPAll);
914 tree->Branch(
"t_isoTrkPtAll",
"vector<double>", &t_isoTrkPtAll);
915 tree->Branch(
"t_isoTrkPhiAll",
"vector<double>", &t_isoTrkPhiAll);
916 tree->Branch(
"t_isoTrkEtaAll",
"vector<double>", &t_isoTrkEtaAll);
917 tree->Branch(
"t_isoTrkDPhiAll",
"vector<double>", &t_isoTrkDPhiAll);
918 tree->Branch(
"t_isoTrkDEtaAll",
"vector<double>", &t_isoTrkDEtaAll);
919 tree->Branch(
"t_isoTrkPdgIdAll",
"vector<double>", &t_isoTrkPdgIdAll);
921 tree->Branch(
"t_isoTrkP",
"vector<double>", &t_isoTrkP);
922 tree->Branch(
"t_isoTrkPt",
"vector<double>", &t_isoTrkPt);
923 tree->Branch(
"t_isoTrkEne",
"vector<double>", &t_isoTrkEne);
924 tree->Branch(
"t_isoTrkEta",
"vector<double>", &t_isoTrkEta);
925 tree->Branch(
"t_isoTrkPhi",
"vector<double>", &t_isoTrkPhi);
926 tree->Branch(
"t_isoTrkEtaEC",
"vector<double>", &t_isoTrkEtaEC);
927 tree->Branch(
"t_isoTrkPhiEC",
"vector<double>", &t_isoTrkPhiEC);
928 tree->Branch(
"t_isoTrkPdgId",
"vector<double>", &t_isoTrkPdgId);
930 tree->Branch(
"t_maxNearP31x31",
"vector<double>", &t_maxNearP31x31);
931 tree->Branch(
"t_cHadronEne31x31",
"vector<double>", &t_cHadronEne31x31);
932 tree->Branch(
"t_cHadronEne31x31_1",
"vector<double>", &t_cHadronEne31x31_1);
933 tree->Branch(
"t_cHadronEne31x31_2",
"vector<double>", &t_cHadronEne31x31_2);
934 tree->Branch(
"t_cHadronEne31x31_3",
"vector<double>", &t_cHadronEne31x31_3);
935 tree->Branch(
"t_nHadronEne31x31",
"vector<double>", &t_nHadronEne31x31);
936 tree->Branch(
"t_photonEne31x31",
"vector<double>", &t_photonEne31x31);
937 tree->Branch(
"t_eleEne31x31",
"vector<double>", &t_eleEne31x31);
938 tree->Branch(
"t_muEne31x31",
"vector<double>", &t_muEne31x31);
940 tree->Branch(
"t_maxNearP25x25",
"vector<double>", &t_maxNearP25x25);
941 tree->Branch(
"t_cHadronEne25x25",
"vector<double>", &t_cHadronEne25x25);
942 tree->Branch(
"t_cHadronEne25x25_1",
"vector<double>", &t_cHadronEne25x25_1);
943 tree->Branch(
"t_cHadronEne25x25_2",
"vector<double>", &t_cHadronEne25x25_2);
944 tree->Branch(
"t_cHadronEne25x25_3",
"vector<double>", &t_cHadronEne25x25_3);
945 tree->Branch(
"t_nHadronEne25x25",
"vector<double>", &t_nHadronEne25x25);
946 tree->Branch(
"t_photonEne25x25",
"vector<double>", &t_photonEne25x25);
947 tree->Branch(
"t_eleEne25x25",
"vector<double>", &t_eleEne25x25);
948 tree->Branch(
"t_muEne25x25",
"vector<double>", &t_muEne25x25);
950 tree->Branch(
"t_maxNearP21x21",
"vector<double>", &t_maxNearP21x21);
951 tree->Branch(
"t_cHadronEne21x21",
"vector<double>", &t_cHadronEne21x21);
952 tree->Branch(
"t_cHadronEne21x21_1",
"vector<double>", &t_cHadronEne21x21_1);
953 tree->Branch(
"t_cHadronEne21x21_2",
"vector<double>", &t_cHadronEne21x21_2);
954 tree->Branch(
"t_cHadronEne21x21_3",
"vector<double>", &t_cHadronEne21x21_3);
955 tree->Branch(
"t_nHadronEne21x21",
"vector<double>", &t_nHadronEne21x21);
956 tree->Branch(
"t_photonEne21x21",
"vector<double>", &t_photonEne21x21);
957 tree->Branch(
"t_eleEne21x21",
"vector<double>", &t_eleEne21x21);
958 tree->Branch(
"t_muEne21x21",
"vector<double>", &t_muEne21x21);
960 tree->Branch(
"t_maxNearP15x15",
"vector<double>", &t_maxNearP15x15);
961 tree->Branch(
"t_cHadronEne15x15",
"vector<double>", &t_cHadronEne15x15);
962 tree->Branch(
"t_cHadronEne15x15_1",
"vector<double>", &t_cHadronEne15x15_1);
963 tree->Branch(
"t_cHadronEne15x15_2",
"vector<double>", &t_cHadronEne15x15_2);
964 tree->Branch(
"t_cHadronEne15x15_3",
"vector<double>", &t_cHadronEne15x15_3);
965 tree->Branch(
"t_nHadronEne15x15",
"vector<double>", &t_nHadronEne15x15);
966 tree->Branch(
"t_photonEne15x15",
"vector<double>", &t_photonEne15x15);
967 tree->Branch(
"t_eleEne15x15",
"vector<double>", &t_eleEne15x15);
968 tree->Branch(
"t_muEne15x15",
"vector<double>", &t_muEne15x15);
970 tree->Branch(
"t_maxNearP11x11",
"vector<double>", &t_maxNearP11x11);
971 tree->Branch(
"t_cHadronEne11x11",
"vector<double>", &t_cHadronEne11x11);
972 tree->Branch(
"t_cHadronEne11x11_1",
"vector<double>", &t_cHadronEne11x11_1);
973 tree->Branch(
"t_cHadronEne11x11_2",
"vector<double>", &t_cHadronEne11x11_2);
974 tree->Branch(
"t_cHadronEne11x11_3",
"vector<double>", &t_cHadronEne11x11_3);
975 tree->Branch(
"t_nHadronEne11x11",
"vector<double>", &t_nHadronEne11x11);
976 tree->Branch(
"t_photonEne11x11",
"vector<double>", &t_photonEne11x11);
977 tree->Branch(
"t_eleEne11x11",
"vector<double>", &t_eleEne11x11);
978 tree->Branch(
"t_muEne11x11",
"vector<double>", &t_muEne11x11);
980 tree->Branch(
"t_maxNearP9x9",
"vector<double>", &t_maxNearP9x9);
981 tree->Branch(
"t_cHadronEne9x9",
"vector<double>", &t_cHadronEne9x9);
982 tree->Branch(
"t_cHadronEne9x9_1",
"vector<double>", &t_cHadronEne9x9_1);
983 tree->Branch(
"t_cHadronEne9x9_2",
"vector<double>", &t_cHadronEne9x9_2);
984 tree->Branch(
"t_cHadronEne9x9_3",
"vector<double>", &t_cHadronEne9x9_3);
985 tree->Branch(
"t_nHadronEne9x9",
"vector<double>", &t_nHadronEne9x9);
986 tree->Branch(
"t_photonEne9x9",
"vector<double>", &t_photonEne9x9);
987 tree->Branch(
"t_eleEne9x9",
"vector<double>", &t_eleEne9x9);
988 tree->Branch(
"t_muEne9x9",
"vector<double>", &t_muEne9x9);
990 tree->Branch(
"t_maxNearP7x7",
"vector<double>", &t_maxNearP7x7);
991 tree->Branch(
"t_cHadronEne7x7",
"vector<double>", &t_cHadronEne7x7);
992 tree->Branch(
"t_cHadronEne7x7_1",
"vector<double>", &t_cHadronEne7x7_1);
993 tree->Branch(
"t_cHadronEne7x7_2",
"vector<double>", &t_cHadronEne7x7_2);
994 tree->Branch(
"t_cHadronEne7x7_3",
"vector<double>", &t_cHadronEne7x7_3);
995 tree->Branch(
"t_nHadronEne7x7",
"vector<double>", &t_nHadronEne7x7);
996 tree->Branch(
"t_photonEne7x7",
"vector<double>", &t_photonEne7x7);
997 tree->Branch(
"t_eleEne7x7",
"vector<double>", &t_eleEne7x7);
998 tree->Branch(
"t_muEne7x7",
"vector<double>", &t_muEne7x7);
1000 tree->Branch(
"t_maxNearP3x3",
"vector<double>", &t_maxNearP3x3);
1001 tree->Branch(
"t_cHadronEne3x3",
"vector<double>", &t_cHadronEne3x3);
1002 tree->Branch(
"t_cHadronEne3x3_1",
"vector<double>", &t_cHadronEne3x3_1);
1003 tree->Branch(
"t_cHadronEne3x3_2",
"vector<double>", &t_cHadronEne3x3_2);
1004 tree->Branch(
"t_cHadronEne3x3_3",
"vector<double>", &t_cHadronEne3x3_3);
1005 tree->Branch(
"t_nHadronEne3x3",
"vector<double>", &t_nHadronEne3x3);
1006 tree->Branch(
"t_photonEne3x3",
"vector<double>", &t_photonEne3x3);
1007 tree->Branch(
"t_eleEne3x3",
"vector<double>", &t_eleEne3x3);
1008 tree->Branch(
"t_muEne3x3",
"vector<double>", &t_muEne3x3);
1010 tree->Branch(
"t_maxNearP1x1",
"vector<double>", &t_maxNearP1x1);
1011 tree->Branch(
"t_cHadronEne1x1",
"vector<double>", &t_cHadronEne1x1);
1012 tree->Branch(
"t_cHadronEne1x1_1",
"vector<double>", &t_cHadronEne1x1_1);
1013 tree->Branch(
"t_cHadronEne1x1_2",
"vector<double>", &t_cHadronEne1x1_2);
1014 tree->Branch(
"t_cHadronEne1x1_3",
"vector<double>", &t_cHadronEne1x1_3);
1015 tree->Branch(
"t_nHadronEne1x1",
"vector<double>", &t_nHadronEne1x1);
1016 tree->Branch(
"t_photonEne1x1",
"vector<double>", &t_photonEne1x1);
1017 tree->Branch(
"t_eleEne1x1",
"vector<double>", &t_eleEne1x1);
1018 tree->Branch(
"t_muEne1x1",
"vector<double>", &t_muEne1x1);
1020 tree->Branch(
"t_maxNearPHC1x1",
"vector<double>", &t_maxNearPHC1x1);
1021 tree->Branch(
"t_cHadronEneHC1x1",
"vector<double>", &t_cHadronEneHC1x1);
1022 tree->Branch(
"t_cHadronEneHC1x1_1",
"vector<double>", &t_cHadronEneHC1x1_1);
1023 tree->Branch(
"t_cHadronEneHC1x1_2",
"vector<double>", &t_cHadronEneHC1x1_2);
1024 tree->Branch(
"t_cHadronEneHC1x1_3",
"vector<double>", &t_cHadronEneHC1x1_3);
1025 tree->Branch(
"t_nHadronEneHC1x1",
"vector<double>", &t_nHadronEneHC1x1);
1026 tree->Branch(
"t_photonEneHC1x1",
"vector<double>", &t_photonEneHC1x1);
1027 tree->Branch(
"t_eleEneHC1x1",
"vector<double>", &t_eleEneHC1x1);
1028 tree->Branch(
"t_muEneHC1x1",
"vector<double>", &t_muEneHC1x1);
1030 tree->Branch(
"t_maxNearPHC3x3",
"vector<double>", &t_maxNearPHC3x3);
1031 tree->Branch(
"t_cHadronEneHC3x3",
"vector<double>", &t_cHadronEneHC3x3);
1032 tree->Branch(
"t_cHadronEneHC3x3_1",
"vector<double>", &t_cHadronEneHC3x3_1);
1033 tree->Branch(
"t_cHadronEneHC3x3_2",
"vector<double>", &t_cHadronEneHC3x3_2);
1034 tree->Branch(
"t_cHadronEneHC3x3_3",
"vector<double>", &t_cHadronEneHC3x3_3);
1035 tree->Branch(
"t_nHadronEneHC3x3",
"vector<double>", &t_nHadronEneHC3x3);
1036 tree->Branch(
"t_photonEneHC3x3",
"vector<double>", &t_photonEneHC3x3);
1037 tree->Branch(
"t_eleEneHC3x3",
"vector<double>", &t_eleEneHC3x3);
1038 tree->Branch(
"t_muEneHC3x3",
"vector<double>", &t_muEneHC3x3);
1040 tree->Branch(
"t_maxNearPHC5x5",
"vector<double>", &t_maxNearPHC5x5);
1041 tree->Branch(
"t_cHadronEneHC5x5",
"vector<double>", &t_cHadronEneHC5x5);
1042 tree->Branch(
"t_cHadronEneHC5x5_1",
"vector<double>", &t_cHadronEneHC5x5_1);
1043 tree->Branch(
"t_cHadronEneHC5x5_2",
"vector<double>", &t_cHadronEneHC5x5_2);
1044 tree->Branch(
"t_cHadronEneHC5x5_3",
"vector<double>", &t_cHadronEneHC5x5_3);
1045 tree->Branch(
"t_nHadronEneHC5x5",
"vector<double>", &t_nHadronEneHC5x5);
1046 tree->Branch(
"t_photonEneHC5x5",
"vector<double>", &t_photonEneHC5x5);
1047 tree->Branch(
"t_eleEneHC5x5",
"vector<double>", &t_eleEneHC5x5);
1048 tree->Branch(
"t_muEneHC5x5",
"vector<double>", &t_muEneHC5x5);
1050 tree->Branch(
"t_maxNearPHC7x7",
"vector<double>", &t_maxNearPHC7x7);
1051 tree->Branch(
"t_cHadronEneHC7x7",
"vector<double>", &t_cHadronEneHC7x7);
1052 tree->Branch(
"t_cHadronEneHC7x7_1",
"vector<double>", &t_cHadronEneHC7x7_1);
1053 tree->Branch(
"t_cHadronEneHC7x7_2",
"vector<double>", &t_cHadronEneHC7x7_2);
1054 tree->Branch(
"t_cHadronEneHC7x7_3",
"vector<double>", &t_cHadronEneHC7x7_3);
1055 tree->Branch(
"t_nHadronEneHC7x7",
"vector<double>", &t_nHadronEneHC7x7);
1056 tree->Branch(
"t_photonEneHC7x7",
"vector<double>", &t_photonEneHC7x7);
1057 tree->Branch(
"t_eleEneHC7x7",
"vector<double>", &t_eleEneHC7x7);
1058 tree->Branch(
"t_muEneHC7x7",
"vector<double>", &t_muEneHC7x7);
1060 tree->Branch(
"t_maxNearPR",
"vector<double>", &t_maxNearPR);
1061 tree->Branch(
"t_cHadronEneR",
"vector<double>", &t_cHadronEneR);
1062 tree->Branch(
"t_cHadronEneR_1",
"vector<double>", &t_cHadronEneR_1);
1063 tree->Branch(
"t_cHadronEneR_2",
"vector<double>", &t_cHadronEneR_2);
1064 tree->Branch(
"t_cHadronEneR_3",
"vector<double>", &t_cHadronEneR_3);
1065 tree->Branch(
"t_nHadronEneR",
"vector<double>", &t_nHadronEneR);
1066 tree->Branch(
"t_photonEneR",
"vector<double>", &t_photonEneR);
1067 tree->Branch(
"t_eleEneR",
"vector<double>", &t_eleEneR);
1068 tree->Branch(
"t_muEneR",
"vector<double>", &t_muEneR);
1070 tree->Branch(
"t_maxNearPIsoR",
"vector<double>", &t_maxNearPIsoR);
1071 tree->Branch(
"t_cHadronEneIsoR",
"vector<double>", &t_cHadronEneIsoR);
1072 tree->Branch(
"t_cHadronEneIsoR_1",
"vector<double>", &t_cHadronEneIsoR_1);
1073 tree->Branch(
"t_cHadronEneIsoR_2",
"vector<double>", &t_cHadronEneIsoR_2);
1074 tree->Branch(
"t_cHadronEneIsoR_3",
"vector<double>", &t_cHadronEneIsoR_3);
1075 tree->Branch(
"t_nHadronEneIsoR",
"vector<double>", &t_nHadronEneIsoR);
1076 tree->Branch(
"t_photonEneIsoR",
"vector<double>", &t_photonEneIsoR);
1077 tree->Branch(
"t_eleEneIsoR",
"vector<double>", &t_eleEneIsoR);
1078 tree->Branch(
"t_muEneIsoR",
"vector<double>", &t_muEneIsoR);
1080 tree->Branch(
"t_maxNearPHCR",
"vector<double>", &t_maxNearPHCR);
1081 tree->Branch(
"t_cHadronEneHCR",
"vector<double>", &t_cHadronEneHCR);
1082 tree->Branch(
"t_cHadronEneHCR_1",
"vector<double>", &t_cHadronEneHCR_1);
1083 tree->Branch(
"t_cHadronEneHCR_2",
"vector<double>", &t_cHadronEneHCR_2);
1084 tree->Branch(
"t_cHadronEneHCR_3",
"vector<double>", &t_cHadronEneHCR_3);
1085 tree->Branch(
"t_nHadronEneHCR",
"vector<double>", &t_nHadronEneHCR);
1086 tree->Branch(
"t_photonEneHCR",
"vector<double>", &t_photonEneHCR);
1087 tree->Branch(
"t_eleEneHCR",
"vector<double>", &t_eleEneHCR);
1088 tree->Branch(
"t_muEneHCR",
"vector<double>", &t_muEneHCR);
1090 tree->Branch(
"t_maxNearPIsoHCR",
"vector<double>", &t_maxNearPIsoHCR);
1091 tree->Branch(
"t_cHadronEneIsoHCR",
"vector<double>", &t_cHadronEneIsoHCR);
1092 tree->Branch(
"t_cHadronEneIsoHCR_1",
"vector<double>", &t_cHadronEneIsoHCR_1);
1093 tree->Branch(
"t_cHadronEneIsoHCR_2",
"vector<double>", &t_cHadronEneIsoHCR_2);
1094 tree->Branch(
"t_cHadronEneIsoHCR_3",
"vector<double>", &t_cHadronEneIsoHCR_3);
1095 tree->Branch(
"t_nHadronEneIsoHCR",
"vector<double>", &t_nHadronEneIsoHCR);
1096 tree->Branch(
"t_photonEneIsoHCR",
"vector<double>", &t_photonEneIsoHCR);
1097 tree->Branch(
"t_eleEneIsoHCR",
"vector<double>", &t_eleEneIsoHCR);
1098 tree->Branch(
"t_muEneIsoHCR",
"vector<double>", &t_muEneIsoHCR);
1100 tree->Branch(
"t_L1Decision",
"vector<int>", &t_L1Decision);
1101 tree->Branch(
"t_L1CenJetPt",
"vector<double>", &t_L1CenJetPt);
1102 tree->Branch(
"t_L1CenJetEta",
"vector<double>", &t_L1CenJetEta);
1103 tree->Branch(
"t_L1CenJetPhi",
"vector<double>", &t_L1CenJetPhi);
1104 tree->Branch(
"t_L1FwdJetPt",
"vector<double>", &t_L1FwdJetPt);
1105 tree->Branch(
"t_L1FwdJetEta",
"vector<double>", &t_L1FwdJetEta);
1106 tree->Branch(
"t_L1FwdJetPhi",
"vector<double>", &t_L1FwdJetPhi);
1107 tree->Branch(
"t_L1TauJetPt",
"vector<double>", &t_L1TauJetPt);
1108 tree->Branch(
"t_L1TauJetEta",
"vector<double>", &t_L1TauJetEta);
1109 tree->Branch(
"t_L1TauJetPhi",
"vector<double>", &t_L1TauJetPhi);
1110 tree->Branch(
"t_L1MuonPt",
"vector<double>", &t_L1MuonPt);
1111 tree->Branch(
"t_L1MuonEta",
"vector<double>", &t_L1MuonEta);
1112 tree->Branch(
"t_L1MuonPhi",
"vector<double>", &t_L1MuonPhi);
1113 tree->Branch(
"t_L1IsoEMPt",
"vector<double>", &t_L1IsoEMPt);
1114 tree->Branch(
"t_L1IsoEMEta",
"vector<double>", &t_L1IsoEMEta);
1115 tree->Branch(
"t_L1IsoEMPhi",
"vector<double>", &t_L1IsoEMPhi);
1116 tree->Branch(
"t_L1NonIsoEMPt",
"vector<double>", &t_L1NonIsoEMPt);
1117 tree->Branch(
"t_L1NonIsoEMEta",
"vector<double>", &t_L1NonIsoEMEta);
1118 tree->Branch(
"t_L1NonIsoEMPhi",
"vector<double>", &t_L1NonIsoEMPhi);
1119 tree->Branch(
"t_L1METPt",
"vector<double>", &t_L1METPt);
1120 tree->Branch(
"t_L1METEta",
"vector<double>", &t_L1METEta);
1121 tree->Branch(
"t_L1METPhi",
"vector<double>", &t_L1METPhi);
1343 int partID[
Particles]={11,-11,21,211,-211,321,-321,2212,2112,-2212,-2112,130};
1346 if (pdgId == partID[ik]) {
std::vector< double > * t_cHadronEneHC1x1_3
std::vector< double > * t_eleEne7x7
std::vector< double > * t_nHadronEne21x21
std::vector< double > * t_cHadronEneHC7x7_2
T getParameter(std::string const &) const
spr::genSimInfo isoinfo25x25
EventNumber_t event() const
std::vector< double > * t_isoTrkEtaAll
std::vector< double > * t_maxNearPHCR
T getUntrackedParameter(std::string const &, T const &) const
std::vector< double > * t_isoTrkPdgId
std::vector< double > * t_L1FwdJetPhi
std::vector< double > * t_eleEne31x31
std::vector< double > * t_eleEneHC7x7
std::string algoBitToName[nL1BitsMax]
std::vector< int > * t_L1Decision
spr::genSimInfo isoinfo31x31
std::vector< double > * t_cHadronEneIsoR_1
std::vector< double > * t_nHadronEne7x7
std::vector< double > * t_isoTrkPt
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_L1TauJetPt
std::vector< double > * t_cHadronEneHCR_1
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, std::string &theTrackQuality, bool debug=false)
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_photonEne7x7
spr::genSimInfo isoinfo21x21
std::vector< double > * t_L1MuonPt
std::vector< double > * t_isoTrkEta
std::vector< double > * t_cHadronEneHC7x7
std::vector< double > * t_cHadronEneHC7x7_3
std::vector< double > * t_cHadronEne7x7_2
std::vector< double > * t_cHadronEne15x15_3
std::vector< double > * t_maxNearP15x15
std::vector< double > * t_nHadronEneHC7x7
std::vector< double > * t_photonEne21x21
std::vector< double > * t_cHadronEneIsoHCR_2
std::vector< double > * t_cHadronEne25x25
std::vector< double > * t_photonEneHC5x5
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< double > * t_cHadronEneHC1x1_2
static const int NEtaBins
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
std::vector< double > * t_L1IsoEMEta
static const int Particles
#define DEFINE_FWK_MODULE(type)
std::vector< double > * t_muEneIsoHCR
std::vector< double > * t_eleEne11x11
IsolatedGenParticles(const edm::ParameterSet &)
std::vector< double > * t_cHadronEneR
std::vector< double > * t_eleEne3x3
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_cHadronEne3x3_2
Geom::Phi< T > phi() const
Global3DPoint GlobalPoint
std::vector< double > * t_cHadronEneHC3x3_2
std::vector< double > * t_photonEne1x1
std::vector< double > * t_cHadronEne1x1_2
std::vector< double > * t_nHadronEneR
std::vector< double > * t_cHadronEneIsoR_3
std::vector< double > * t_maxNearP11x11
std::vector< double > * t_maxNearPHC7x7
spr::genSimInfo isoinfoHC3x3
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
std::vector< double > * t_cHadronEneHC5x5_2
std::vector< double > * t_photonEneHCR
std::vector< double > * t_L1METEta
spr::genSimInfo isoinfoHCR
std::vector< double > * t_muEneIsoR
std::vector< double > * t_nHadronEne9x9
T * make(const Args &...args) const
make new ROOT object
std::vector< double > * t_L1MuonEta
std::vector< double > * t_isoTrkPdgIdAll
edm::Service< TFileService > fs
std::vector< double > * t_muEneHC7x7
std::vector< double > * t_cHadronEne31x31
std::vector< double > * t_nHadronEneIsoHCR
spr::genSimInfo isoinfo1x1
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_cHadronEne31x31_1
std::vector< double > * t_photonEneHC3x3
std::vector< double > * t_cHadronEneIsoHCR_1
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
std::vector< double > * t_muEneR
std::vector< double > * t_muEne9x9
std::vector< double > * t_muEne21x21
virtual void analyze(const edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_L1GTrorsrc_
std::vector< double > * t_maxNearP7x7
void getData(T &iHolder) const
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMusrc_
spr::genSimInfo isoinfoHC7x7
std::vector< double > * t_muEneHC1x1
std::vector< double > * t_photonEneHC7x7
std::vector< double > * t_maxNearPIsoHCR
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_cHadronEneHC5x5
std::vector< double > * t_cHadronEne31x31_2
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< double > * t_isoTrkPAll
std::vector< double > * t_nHadronEneHC1x1
spr::genSimInfo isoinfo11x11
std::vector< double > * t_eleEneIsoHCR
std::vector< double > * t_eleEneHC5x5
std::vector< double > * t_cHadronEneIsoHCR
std::vector< double > * t_muEneHCR
std::vector< double > * t_cHadronEne7x7_1
std::vector< double > * t_maxNearP25x25
std::vector< double > * t_cHadronEne3x3_3
std::vector< double > * t_cHadronEneHC7x7_1
std::vector< double > * t_cHadronEneHC5x5_1
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1Em_
std::vector< double > * t_eleEne25x25
std::vector< double > * t_eleEne9x9
std::vector< double > * t_eleEne1x1
std::vector< double > * t_muEne11x11
std::vector< double > * t_eleEneHCR
std::vector< double > * t_muEne7x7
spr::genSimInfo isoinfoHC5x5
std::vector< double > * t_cHadronEneHC1x1
std::vector< bool > DecisionWord
typedefs
std::vector< double > * t_cHadronEneR_3
std::vector< double > * t_cHadronEne11x11_1
std::vector< double > * t_muEne1x1
std::vector< double > * t_cHadronEne15x15_1
std::vector< double > * t_cHadronEneIsoHCR_3
std::vector< double > * t_cHadronEneIsoR
spr::genSimInfo isoinfoHC1x1
std::vector< double > * t_eleEneHC3x3
std::vector< double > * t_isoTrkDEtaAll
std::vector< double > * t_muEne25x25
std::vector< double > * t_cHadronEne9x9_3
std::vector< double > * t_L1NonIsoEMPt
double DeltaR2(double eta1, double phi1, double eta2, double phi2)
std::vector< double > * t_photonEne25x25
std::vector< double > * t_maxNearP21x21
Abs< T >::type abs(const T &t)
std::vector< double > * t_maxNearP31x31
std::vector< double > * t_muEneHC3x3
void eGenSimInfo(const DetId &coreDet, HepMC::GenEvent::particle_const_iterator trkItr, std::vector< spr::propagatedGenTrackID > &trackIds, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, spr::genSimInfo &info, bool debug=false)
std::vector< double > * t_cHadronEneHC3x3
std::vector< double > * t_cHadronEne11x11
spr::genSimInfo isoinfoIsoHCR
std::vector< double > * t_cHadronEne25x25_3
std::vector< double > * t_cHadronEneHCR_3
T * make(const Args &...args) const
make new ROOT object
std::vector< double > * t_L1CenJetPt
spr::genSimInfo isoinfo15x15
std::vector< double > * t_maxNearPHC5x5
std::vector< double > * t_cHadronEneHCR_2
std::vector< double > * t_cHadronEne11x11_3
std::vector< double > * t_cHadronEneHCR
std::vector< double > * t_cHadronEne1x1
std::vector< double > * t_isoTrkDPhiAll
std::vector< double > * t_photonEneIsoHCR
std::vector< double > * t_nHadronEne31x31
std::vector< double > * t_maxNearP3x3
std::vector< double > * t_cHadronEne1x1_1
std::vector< double > * t_cHadronEne21x21_1
std::vector< double > * t_isoTrkPhiEC
spr::genSimInfo isoinfoIsoR
std::vector< double > * t_cHadronEne11x11_2
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_maxNearP1x1
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > tok_L1GTobjmap_
std::vector< double > * t_maxNearPHC3x3
double DeltaPhi(double v1, double v2)
std::vector< double > * t_nHadronEneHCR
std::vector< double > * t_eleEneR
std::vector< double > * t_cHadronEneIsoR_2
std::vector< double > * t_cHadronEne9x9_1
std::vector< double > * t_eleEneIsoR
std::vector< double > * t_cHadronEneR_2
std::vector< double > * t_isoTrkPhiAll
void fillTrack(GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet)
std::vector< double > * t_photonEneHC1x1
std::vector< double > * t_L1FwdJetEta
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
std::vector< double > * t_maxNearPR
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNonIsoEm_
std::vector< double > * t_muEne31x31
void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId)
std::vector< double > * t_isoTrkPtAll
double genPartEtaBins[NEtaBins+1]
std::vector< double > * t_isoTrkP
std::vector< double > * t_nHadronEne11x11
std::vector< double > * t_nHadronEneIsoR
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_eleEne21x21
std::vector< double > * t_maxNearPHC1x1
std::vector< double > * t_cHadronEne9x9_2
std::vector< double > * t_cHadronEne31x31_3
std::vector< double > * t_maxNearP9x9
std::vector< double > * t_photonEne31x31
std::vector< double > * t_nHadronEneHC3x3
std::vector< double > * t_cHadronEne15x15_2
std::vector< double > * t_photonEne15x15
T const * product() const
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_isoTrkPhi
std::vector< double > * t_nHadronEne15x15
std::vector< double > * t_cHadronEneHC1x1_1
std::vector< double > * t_photonEneR
std::vector< double > * t_isoTrkEtaEC
std::vector< double > * t_nHadronEne1x1
std::vector< double > * t_cHadronEne3x3
spr::genSimInfo isoinfo9x9
edm::EDGetTokenT< edm::HepMCProduct > tok_hepmc_
std::vector< double > * t_cHadronEne25x25_2
const MagneticField * bField
std::vector< double > * t_L1IsoEMPhi
std::vector< double > * t_cHadronEneHC5x5_3
edm::EDGetTokenT< reco::GenParticleCollection > tok_genParticles_
std::vector< double > * t_photonEne9x9
std::vector< double > * t_L1METPhi
std::vector< double > * t_nHadronEne25x25
std::vector< double > * t_photonEne3x3
std::vector< double > * t_cHadronEneHC3x3_3
std::vector< double > * t_eleEneHC1x1
std::vector< double > * t_photonEne11x11
void hGenSimInfo(const DetId &coreDet, HepMC::GenEvent::particle_const_iterator trkItr, std::vector< spr::propagatedGenTrackID > &trackIds, const HcalTopology *topology, int ieta, int iphi, spr::genSimInfo &info, bool includeHO=false, bool debug=false)
std::vector< double > * t_muEne3x3
double genPartPBins[NPBins+1]
volatile std::atomic< bool > shutdown_flag false
std::vector< double > * t_cHadronEne9x9
std::vector< double > * t_muEne15x15
std::vector< double > * t_cHadronEne21x21_2
std::vector< double > * t_cHadronEne3x3_1
std::vector< double > * t_cHadronEneHC3x3_1
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
spr::genSimInfo isoinfo3x3
std::vector< double > * t_cHadronEne25x25_1
std::vector< double > * t_cHadronEne15x15
std::vector< double > * t_cHadronEne21x21
std::vector< double > * t_L1METPt
std::vector< double > * t_muEneHC5x5
std::vector< double > * t_cHadronEneR_1
std::vector< double > * t_cHadronEne21x21_3
std::vector< double > * t_L1MuonPhi
std::vector< double > * t_cHadronEne7x7_3
double DeltaR(double eta1, double phi1, double eta2, double phi2)
std::vector< double > * t_photonEneIsoR
std::vector< double > * t_cHadronEne7x7
std::vector< double > * t_eleEne15x15
std::vector< double > * t_maxNearPIsoR
std::vector< double > * t_nHadronEne3x3
spr::genSimInfo isoinfo7x7
std::vector< double > * t_nHadronEneHC5x5
std::vector< double > * t_isoTrkEne
std::vector< double > * t_cHadronEne1x1_3