84 if (!strcmp(
"Dummy",
genSrc_.c_str())) {
85 if (useHepMC)
genSrc_ =
"generator";
89 <<
" pSeed " << pSeed <<
" ptMin " <<
ptMin <<
" etaMax " <<
etaMax
92 <<
" debug " <<
verbosity <<
" debugL1Info " << debugL1Info_ <<
"\n"
93 <<
" Isolation Flag " <<
a_Isolation <<
" with cut "
94 << pCutIsolate <<
" GeV\n"
95 <<
" L1extraTauJetSource_ " << L1extraTauJetSource_
96 <<
" L1extraCenJetSource_ " << L1extraCenJetSource_
97 <<
" L1extraFwdJetSource_ " << L1extraFwdJetSource_
98 <<
" L1extraMuonSource_ " << L1extraMuonSource_
99 <<
" L1extraIsoEmSource_ " << L1extraIsoEmSource_
100 <<
" L1extraNonIsoEmSource_ " << L1extraNonIsoEmSource_
101 <<
" L1GTReadoutRcdSource_ " << L1GTReadoutRcdSource_
102 <<
" L1GTObjectMapRcdSource_" << L1GTObjectMapRcdSource_
152 std::cout <<
"\nL1GlobalTriggerReadoutRecord with \n \nnot found"
153 "\n --> returning false by default!\n" << std::endl;
156 std::cout <<
"\nL1GlobalTriggerObjectMapRecord with \n \nnot found"
157 "\n --> returning false by default!\n" << std::endl;
162 unsigned int numberTriggerBits= dWord.size();
167 std::cout <<
"\n Number of Trigger bits " << numberTriggerBits <<
"\n\n";
168 std::cout <<
"\tBit \t L1 Algorithm " << std::endl;
171 const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtOMRec->gtObjectMap();
172 for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
173 itMap != objMapVec.end(); ++itMap) {
176 int itrig = (*itMap).algoBitNumber();
190 for (
unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
191 bool accept = dWord[iBit];
203 l1extra::L1JetParticleCollection::const_iterator itr;
204 for(itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr ) {
209 std::cout <<
"tauJ p/pt " << itr->momentum() <<
" " << itr->pt()
210 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
218 for( itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr ) {
223 std::cout <<
"cenJ p/pt " << itr->momentum() <<
" " << itr->pt()
224 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
231 for( itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr ) {
236 std::cout <<
"fwdJ p/pt " << itr->momentum() <<
" " << itr->pt()
237 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
242 l1extra::L1EmParticleCollection::const_iterator itrEm;
245 for( itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm ) {
250 std::cout <<
"isoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
251 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
258 for( itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm ) {
263 std::cout <<
"nonIsoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
264 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
270 l1extra::L1MuonParticleCollection::const_iterator itrMu;
273 for( itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu ) {
278 std::cout <<
"l1muon p/pt " << itrMu->momentum() <<
" " << itrMu->pt()
279 <<
" eta/phi " << itrMu->eta() <<
" " << itrMu->phi()
289 const HepMC::GenEvent *myGenEvent = hepmc->GetEvent();
292 for (
unsigned int indx=0; indx<trackIDs.size(); ++indx) {
293 int charge = trackIDs[indx].charge;
294 HepMC::GenEvent::particle_const_iterator
p = trackIDs[indx].trkItr;
295 momVec =
math::XYZTLorentzVector((*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
296 if (
verbosity>1)
std::cout <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " << charge <<
" momVec " << momVec << std::endl;
299 std::abs(trackIDs[indx].pdgId)>=21)) {
302 posVec =
GlobalPoint(0.1*(*p)->production_vertex()->position().x(),
303 0.1*(*p)->production_vertex()->position().y(),
304 0.1*(*p)->production_vertex()->position().z());
305 posECAL = trackIDs[indx].pointECAL;
306 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL,
true);
307 if (
verbosity>1)
std::cout <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " << trackIDs[indx].okHCAL << std::endl;
308 if (trackIDs[indx].okECAL) {
321 if (trackIDs[indx].okHCAL) {
330 bool saveTrack =
true;
337 fillTrack (posVec, momVec, posECAL, 0,
false,
false);
343 HepMC::GenEvent::particle_const_iterator
p;
344 for (p=myGenEvent->particles_begin(),indx=0; p!=myGenEvent->particles_end();
346 int pdgId = ((*p)->pdg_id());
349 double pp = (*p)->momentum().rho();
350 double eta = (*p)->momentum().eta();
357 for (
unsigned int indx=0; indx<trackIDs.size(); ++indx) {
358 int charge = trackIDs[indx].charge;
359 reco::GenParticleCollection::const_iterator
p = trackIDs[indx].trkItr;
362 if (
verbosity>1)
std::cout <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " << charge <<
" momVec " << momVec << std::endl;
366 if (
verbosity>1)
std::cout <<
" pt " << momVec.Pt() <<
" eta " << momVec.eta() << std::endl;
368 posVec =
GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
369 posECAL = trackIDs[indx].pointECAL;
370 if (
verbosity>0)
std::cout <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " << trackIDs[indx].okHCAL << std::endl;
371 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL,
true);
372 if (trackIDs[indx].okECAL) {
385 if (trackIDs[indx].okHCAL) {
394 bool saveTrack =
true;
401 fillTrack (posVec, momVec, posECAL, 0,
false,
false);
407 reco::GenParticleCollection::const_iterator
p;
408 for (p=genParticles->begin(),indx=0; p!=genParticles->end(); ++
p,++indx) {
409 int pdgId = (p->pdgId());
412 double pp = (p->momentum()).
R();
413 double eta = (p->momentum()).
Eta();
432 double tempgen_TH[
NPBins+1] = { 0.0, 5.0, 12.0, 300.0};
435 double tempgen_Eta[
NEtaBins+1] = {0.0, 0.5, 1.1, 1.7, 2.3};
449 double pi = 3.141592654;
450 double twopi = 6.283185307;
454 if (diff < pi){
return diff;}
else {
return corr;}
458 double deta = eta1 - eta2;
464 double deta = eta1 - eta2;
466 return deta*deta + dphi*dphi;
478 double phi1 = momVec.phi();
479 double phi2 = (posECAL - posVec).
phi();
480 double dphi =
DeltaPhi( phi1, phi2 );
481 double deta = momVec.eta() - (posECAL - posVec).
eta();
681 h_L1AlgoNames =
fs->
make<TH1I>(
"h_L1AlgoNames",
"h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
683 double pBin[] = {0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 20.0, 30.0, 40.0, 50.0,
684 60.0, 70.0, 80.0, 90.0, 100.0, 150.0, 200.0, 250.0,
685 300.0, 350.0, 400.0, 450.0, 500.0, 550.0, 600.0,
686 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0,
688 constexpr double etaBin[] = {-3.0, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3,
689 -2.2, -2.1, -2.0, -1.9, -1.8, -1.7, -1.6, -1.5,
690 -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7,
691 -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1,
692 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
693 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7,
694 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5,
695 2.6, 2.7, 2.8, 2.9, 3.0};
696 constexpr char const* particle[] = {
"electron",
"positron",
"#gamma",
"#pi^+",
697 "#pi^-",
"K^+",
"K^-",
"p",
"n",
"pbar",
702 sprintf (name,
"pEta%d",
i);
703 sprintf (title,
"#eta vs momentum for %s", particle[
i]);
704 h_pEta[
i] = dir1.
make<TH2D>(
name,
title, (
sizeof(pBin)/
sizeof(
double))-1, pBin, (
sizeof(etaBin)/
sizeof(double))-1, etaBin);
865 t_muEneR =
new std::vector<double>();
923 tree->Branch(
"t_isoTrkPAll",
"vector<double>", &t_isoTrkPAll);
924 tree->Branch(
"t_isoTrkPtAll",
"vector<double>", &t_isoTrkPtAll);
925 tree->Branch(
"t_isoTrkPhiAll",
"vector<double>", &t_isoTrkPhiAll);
926 tree->Branch(
"t_isoTrkEtaAll",
"vector<double>", &t_isoTrkEtaAll);
927 tree->Branch(
"t_isoTrkDPhiAll",
"vector<double>", &t_isoTrkDPhiAll);
928 tree->Branch(
"t_isoTrkDEtaAll",
"vector<double>", &t_isoTrkDEtaAll);
929 tree->Branch(
"t_isoTrkPdgIdAll",
"vector<double>", &t_isoTrkPdgIdAll);
931 tree->Branch(
"t_isoTrkP",
"vector<double>", &t_isoTrkP);
932 tree->Branch(
"t_isoTrkPt",
"vector<double>", &t_isoTrkPt);
933 tree->Branch(
"t_isoTrkEne",
"vector<double>", &t_isoTrkEne);
934 tree->Branch(
"t_isoTrkEta",
"vector<double>", &t_isoTrkEta);
935 tree->Branch(
"t_isoTrkPhi",
"vector<double>", &t_isoTrkPhi);
936 tree->Branch(
"t_isoTrkEtaEC",
"vector<double>", &t_isoTrkEtaEC);
937 tree->Branch(
"t_isoTrkPhiEC",
"vector<double>", &t_isoTrkPhiEC);
938 tree->Branch(
"t_isoTrkPdgId",
"vector<double>", &t_isoTrkPdgId);
940 tree->Branch(
"t_maxNearP31x31",
"vector<double>", &t_maxNearP31x31);
941 tree->Branch(
"t_cHadronEne31x31",
"vector<double>", &t_cHadronEne31x31);
942 tree->Branch(
"t_cHadronEne31x31_1",
"vector<double>", &t_cHadronEne31x31_1);
943 tree->Branch(
"t_cHadronEne31x31_2",
"vector<double>", &t_cHadronEne31x31_2);
944 tree->Branch(
"t_cHadronEne31x31_3",
"vector<double>", &t_cHadronEne31x31_3);
945 tree->Branch(
"t_nHadronEne31x31",
"vector<double>", &t_nHadronEne31x31);
946 tree->Branch(
"t_photonEne31x31",
"vector<double>", &t_photonEne31x31);
947 tree->Branch(
"t_eleEne31x31",
"vector<double>", &t_eleEne31x31);
948 tree->Branch(
"t_muEne31x31",
"vector<double>", &t_muEne31x31);
950 tree->Branch(
"t_maxNearP25x25",
"vector<double>", &t_maxNearP25x25);
951 tree->Branch(
"t_cHadronEne25x25",
"vector<double>", &t_cHadronEne25x25);
952 tree->Branch(
"t_cHadronEne25x25_1",
"vector<double>", &t_cHadronEne25x25_1);
953 tree->Branch(
"t_cHadronEne25x25_2",
"vector<double>", &t_cHadronEne25x25_2);
954 tree->Branch(
"t_cHadronEne25x25_3",
"vector<double>", &t_cHadronEne25x25_3);
955 tree->Branch(
"t_nHadronEne25x25",
"vector<double>", &t_nHadronEne25x25);
956 tree->Branch(
"t_photonEne25x25",
"vector<double>", &t_photonEne25x25);
957 tree->Branch(
"t_eleEne25x25",
"vector<double>", &t_eleEne25x25);
958 tree->Branch(
"t_muEne25x25",
"vector<double>", &t_muEne25x25);
960 tree->Branch(
"t_maxNearP21x21",
"vector<double>", &t_maxNearP21x21);
961 tree->Branch(
"t_cHadronEne21x21",
"vector<double>", &t_cHadronEne21x21);
962 tree->Branch(
"t_cHadronEne21x21_1",
"vector<double>", &t_cHadronEne21x21_1);
963 tree->Branch(
"t_cHadronEne21x21_2",
"vector<double>", &t_cHadronEne21x21_2);
964 tree->Branch(
"t_cHadronEne21x21_3",
"vector<double>", &t_cHadronEne21x21_3);
965 tree->Branch(
"t_nHadronEne21x21",
"vector<double>", &t_nHadronEne21x21);
966 tree->Branch(
"t_photonEne21x21",
"vector<double>", &t_photonEne21x21);
967 tree->Branch(
"t_eleEne21x21",
"vector<double>", &t_eleEne21x21);
968 tree->Branch(
"t_muEne21x21",
"vector<double>", &t_muEne21x21);
970 tree->Branch(
"t_maxNearP15x15",
"vector<double>", &t_maxNearP15x15);
971 tree->Branch(
"t_cHadronEne15x15",
"vector<double>", &t_cHadronEne15x15);
972 tree->Branch(
"t_cHadronEne15x15_1",
"vector<double>", &t_cHadronEne15x15_1);
973 tree->Branch(
"t_cHadronEne15x15_2",
"vector<double>", &t_cHadronEne15x15_2);
974 tree->Branch(
"t_cHadronEne15x15_3",
"vector<double>", &t_cHadronEne15x15_3);
975 tree->Branch(
"t_nHadronEne15x15",
"vector<double>", &t_nHadronEne15x15);
976 tree->Branch(
"t_photonEne15x15",
"vector<double>", &t_photonEne15x15);
977 tree->Branch(
"t_eleEne15x15",
"vector<double>", &t_eleEne15x15);
978 tree->Branch(
"t_muEne15x15",
"vector<double>", &t_muEne15x15);
980 tree->Branch(
"t_maxNearP11x11",
"vector<double>", &t_maxNearP11x11);
981 tree->Branch(
"t_cHadronEne11x11",
"vector<double>", &t_cHadronEne11x11);
982 tree->Branch(
"t_cHadronEne11x11_1",
"vector<double>", &t_cHadronEne11x11_1);
983 tree->Branch(
"t_cHadronEne11x11_2",
"vector<double>", &t_cHadronEne11x11_2);
984 tree->Branch(
"t_cHadronEne11x11_3",
"vector<double>", &t_cHadronEne11x11_3);
985 tree->Branch(
"t_nHadronEne11x11",
"vector<double>", &t_nHadronEne11x11);
986 tree->Branch(
"t_photonEne11x11",
"vector<double>", &t_photonEne11x11);
987 tree->Branch(
"t_eleEne11x11",
"vector<double>", &t_eleEne11x11);
988 tree->Branch(
"t_muEne11x11",
"vector<double>", &t_muEne11x11);
990 tree->Branch(
"t_maxNearP9x9",
"vector<double>", &t_maxNearP9x9);
991 tree->Branch(
"t_cHadronEne9x9",
"vector<double>", &t_cHadronEne9x9);
992 tree->Branch(
"t_cHadronEne9x9_1",
"vector<double>", &t_cHadronEne9x9_1);
993 tree->Branch(
"t_cHadronEne9x9_2",
"vector<double>", &t_cHadronEne9x9_2);
994 tree->Branch(
"t_cHadronEne9x9_3",
"vector<double>", &t_cHadronEne9x9_3);
995 tree->Branch(
"t_nHadronEne9x9",
"vector<double>", &t_nHadronEne9x9);
996 tree->Branch(
"t_photonEne9x9",
"vector<double>", &t_photonEne9x9);
997 tree->Branch(
"t_eleEne9x9",
"vector<double>", &t_eleEne9x9);
998 tree->Branch(
"t_muEne9x9",
"vector<double>", &t_muEne9x9);
1000 tree->Branch(
"t_maxNearP7x7",
"vector<double>", &t_maxNearP7x7);
1001 tree->Branch(
"t_cHadronEne7x7",
"vector<double>", &t_cHadronEne7x7);
1002 tree->Branch(
"t_cHadronEne7x7_1",
"vector<double>", &t_cHadronEne7x7_1);
1003 tree->Branch(
"t_cHadronEne7x7_2",
"vector<double>", &t_cHadronEne7x7_2);
1004 tree->Branch(
"t_cHadronEne7x7_3",
"vector<double>", &t_cHadronEne7x7_3);
1005 tree->Branch(
"t_nHadronEne7x7",
"vector<double>", &t_nHadronEne7x7);
1006 tree->Branch(
"t_photonEne7x7",
"vector<double>", &t_photonEne7x7);
1007 tree->Branch(
"t_eleEne7x7",
"vector<double>", &t_eleEne7x7);
1008 tree->Branch(
"t_muEne7x7",
"vector<double>", &t_muEne7x7);
1010 tree->Branch(
"t_maxNearP3x3",
"vector<double>", &t_maxNearP3x3);
1011 tree->Branch(
"t_cHadronEne3x3",
"vector<double>", &t_cHadronEne3x3);
1012 tree->Branch(
"t_cHadronEne3x3_1",
"vector<double>", &t_cHadronEne3x3_1);
1013 tree->Branch(
"t_cHadronEne3x3_2",
"vector<double>", &t_cHadronEne3x3_2);
1014 tree->Branch(
"t_cHadronEne3x3_3",
"vector<double>", &t_cHadronEne3x3_3);
1015 tree->Branch(
"t_nHadronEne3x3",
"vector<double>", &t_nHadronEne3x3);
1016 tree->Branch(
"t_photonEne3x3",
"vector<double>", &t_photonEne3x3);
1017 tree->Branch(
"t_eleEne3x3",
"vector<double>", &t_eleEne3x3);
1018 tree->Branch(
"t_muEne3x3",
"vector<double>", &t_muEne3x3);
1020 tree->Branch(
"t_maxNearP1x1",
"vector<double>", &t_maxNearP1x1);
1021 tree->Branch(
"t_cHadronEne1x1",
"vector<double>", &t_cHadronEne1x1);
1022 tree->Branch(
"t_cHadronEne1x1_1",
"vector<double>", &t_cHadronEne1x1_1);
1023 tree->Branch(
"t_cHadronEne1x1_2",
"vector<double>", &t_cHadronEne1x1_2);
1024 tree->Branch(
"t_cHadronEne1x1_3",
"vector<double>", &t_cHadronEne1x1_3);
1025 tree->Branch(
"t_nHadronEne1x1",
"vector<double>", &t_nHadronEne1x1);
1026 tree->Branch(
"t_photonEne1x1",
"vector<double>", &t_photonEne1x1);
1027 tree->Branch(
"t_eleEne1x1",
"vector<double>", &t_eleEne1x1);
1028 tree->Branch(
"t_muEne1x1",
"vector<double>", &t_muEne1x1);
1030 tree->Branch(
"t_maxNearPHC1x1",
"vector<double>", &t_maxNearPHC1x1);
1031 tree->Branch(
"t_cHadronEneHC1x1",
"vector<double>", &t_cHadronEneHC1x1);
1032 tree->Branch(
"t_cHadronEneHC1x1_1",
"vector<double>", &t_cHadronEneHC1x1_1);
1033 tree->Branch(
"t_cHadronEneHC1x1_2",
"vector<double>", &t_cHadronEneHC1x1_2);
1034 tree->Branch(
"t_cHadronEneHC1x1_3",
"vector<double>", &t_cHadronEneHC1x1_3);
1035 tree->Branch(
"t_nHadronEneHC1x1",
"vector<double>", &t_nHadronEneHC1x1);
1036 tree->Branch(
"t_photonEneHC1x1",
"vector<double>", &t_photonEneHC1x1);
1037 tree->Branch(
"t_eleEneHC1x1",
"vector<double>", &t_eleEneHC1x1);
1038 tree->Branch(
"t_muEneHC1x1",
"vector<double>", &t_muEneHC1x1);
1040 tree->Branch(
"t_maxNearPHC3x3",
"vector<double>", &t_maxNearPHC3x3);
1041 tree->Branch(
"t_cHadronEneHC3x3",
"vector<double>", &t_cHadronEneHC3x3);
1042 tree->Branch(
"t_cHadronEneHC3x3_1",
"vector<double>", &t_cHadronEneHC3x3_1);
1043 tree->Branch(
"t_cHadronEneHC3x3_2",
"vector<double>", &t_cHadronEneHC3x3_2);
1044 tree->Branch(
"t_cHadronEneHC3x3_3",
"vector<double>", &t_cHadronEneHC3x3_3);
1045 tree->Branch(
"t_nHadronEneHC3x3",
"vector<double>", &t_nHadronEneHC3x3);
1046 tree->Branch(
"t_photonEneHC3x3",
"vector<double>", &t_photonEneHC3x3);
1047 tree->Branch(
"t_eleEneHC3x3",
"vector<double>", &t_eleEneHC3x3);
1048 tree->Branch(
"t_muEneHC3x3",
"vector<double>", &t_muEneHC3x3);
1050 tree->Branch(
"t_maxNearPHC5x5",
"vector<double>", &t_maxNearPHC5x5);
1051 tree->Branch(
"t_cHadronEneHC5x5",
"vector<double>", &t_cHadronEneHC5x5);
1052 tree->Branch(
"t_cHadronEneHC5x5_1",
"vector<double>", &t_cHadronEneHC5x5_1);
1053 tree->Branch(
"t_cHadronEneHC5x5_2",
"vector<double>", &t_cHadronEneHC5x5_2);
1054 tree->Branch(
"t_cHadronEneHC5x5_3",
"vector<double>", &t_cHadronEneHC5x5_3);
1055 tree->Branch(
"t_nHadronEneHC5x5",
"vector<double>", &t_nHadronEneHC5x5);
1056 tree->Branch(
"t_photonEneHC5x5",
"vector<double>", &t_photonEneHC5x5);
1057 tree->Branch(
"t_eleEneHC5x5",
"vector<double>", &t_eleEneHC5x5);
1058 tree->Branch(
"t_muEneHC5x5",
"vector<double>", &t_muEneHC5x5);
1060 tree->Branch(
"t_maxNearPHC7x7",
"vector<double>", &t_maxNearPHC7x7);
1061 tree->Branch(
"t_cHadronEneHC7x7",
"vector<double>", &t_cHadronEneHC7x7);
1062 tree->Branch(
"t_cHadronEneHC7x7_1",
"vector<double>", &t_cHadronEneHC7x7_1);
1063 tree->Branch(
"t_cHadronEneHC7x7_2",
"vector<double>", &t_cHadronEneHC7x7_2);
1064 tree->Branch(
"t_cHadronEneHC7x7_3",
"vector<double>", &t_cHadronEneHC7x7_3);
1065 tree->Branch(
"t_nHadronEneHC7x7",
"vector<double>", &t_nHadronEneHC7x7);
1066 tree->Branch(
"t_photonEneHC7x7",
"vector<double>", &t_photonEneHC7x7);
1067 tree->Branch(
"t_eleEneHC7x7",
"vector<double>", &t_eleEneHC7x7);
1068 tree->Branch(
"t_muEneHC7x7",
"vector<double>", &t_muEneHC7x7);
1070 tree->Branch(
"t_maxNearPR",
"vector<double>", &t_maxNearPR);
1071 tree->Branch(
"t_cHadronEneR",
"vector<double>", &t_cHadronEneR);
1072 tree->Branch(
"t_cHadronEneR_1",
"vector<double>", &t_cHadronEneR_1);
1073 tree->Branch(
"t_cHadronEneR_2",
"vector<double>", &t_cHadronEneR_2);
1074 tree->Branch(
"t_cHadronEneR_3",
"vector<double>", &t_cHadronEneR_3);
1075 tree->Branch(
"t_nHadronEneR",
"vector<double>", &t_nHadronEneR);
1076 tree->Branch(
"t_photonEneR",
"vector<double>", &t_photonEneR);
1077 tree->Branch(
"t_eleEneR",
"vector<double>", &t_eleEneR);
1078 tree->Branch(
"t_muEneR",
"vector<double>", &t_muEneR);
1080 tree->Branch(
"t_maxNearPIsoR",
"vector<double>", &t_maxNearPIsoR);
1081 tree->Branch(
"t_cHadronEneIsoR",
"vector<double>", &t_cHadronEneIsoR);
1082 tree->Branch(
"t_cHadronEneIsoR_1",
"vector<double>", &t_cHadronEneIsoR_1);
1083 tree->Branch(
"t_cHadronEneIsoR_2",
"vector<double>", &t_cHadronEneIsoR_2);
1084 tree->Branch(
"t_cHadronEneIsoR_3",
"vector<double>", &t_cHadronEneIsoR_3);
1085 tree->Branch(
"t_nHadronEneIsoR",
"vector<double>", &t_nHadronEneIsoR);
1086 tree->Branch(
"t_photonEneIsoR",
"vector<double>", &t_photonEneIsoR);
1087 tree->Branch(
"t_eleEneIsoR",
"vector<double>", &t_eleEneIsoR);
1088 tree->Branch(
"t_muEneIsoR",
"vector<double>", &t_muEneIsoR);
1090 tree->Branch(
"t_maxNearPHCR",
"vector<double>", &t_maxNearPHCR);
1091 tree->Branch(
"t_cHadronEneHCR",
"vector<double>", &t_cHadronEneHCR);
1092 tree->Branch(
"t_cHadronEneHCR_1",
"vector<double>", &t_cHadronEneHCR_1);
1093 tree->Branch(
"t_cHadronEneHCR_2",
"vector<double>", &t_cHadronEneHCR_2);
1094 tree->Branch(
"t_cHadronEneHCR_3",
"vector<double>", &t_cHadronEneHCR_3);
1095 tree->Branch(
"t_nHadronEneHCR",
"vector<double>", &t_nHadronEneHCR);
1096 tree->Branch(
"t_photonEneHCR",
"vector<double>", &t_photonEneHCR);
1097 tree->Branch(
"t_eleEneHCR",
"vector<double>", &t_eleEneHCR);
1098 tree->Branch(
"t_muEneHCR",
"vector<double>", &t_muEneHCR);
1100 tree->Branch(
"t_maxNearPIsoHCR",
"vector<double>", &t_maxNearPIsoHCR);
1101 tree->Branch(
"t_cHadronEneIsoHCR",
"vector<double>", &t_cHadronEneIsoHCR);
1102 tree->Branch(
"t_cHadronEneIsoHCR_1",
"vector<double>", &t_cHadronEneIsoHCR_1);
1103 tree->Branch(
"t_cHadronEneIsoHCR_2",
"vector<double>", &t_cHadronEneIsoHCR_2);
1104 tree->Branch(
"t_cHadronEneIsoHCR_3",
"vector<double>", &t_cHadronEneIsoHCR_3);
1105 tree->Branch(
"t_nHadronEneIsoHCR",
"vector<double>", &t_nHadronEneIsoHCR);
1106 tree->Branch(
"t_photonEneIsoHCR",
"vector<double>", &t_photonEneIsoHCR);
1107 tree->Branch(
"t_eleEneIsoHCR",
"vector<double>", &t_eleEneIsoHCR);
1108 tree->Branch(
"t_muEneIsoHCR",
"vector<double>", &t_muEneIsoHCR);
1110 tree->Branch(
"t_L1Decision",
"vector<int>", &t_L1Decision);
1111 tree->Branch(
"t_L1CenJetPt",
"vector<double>", &t_L1CenJetPt);
1112 tree->Branch(
"t_L1CenJetEta",
"vector<double>", &t_L1CenJetEta);
1113 tree->Branch(
"t_L1CenJetPhi",
"vector<double>", &t_L1CenJetPhi);
1114 tree->Branch(
"t_L1FwdJetPt",
"vector<double>", &t_L1FwdJetPt);
1115 tree->Branch(
"t_L1FwdJetEta",
"vector<double>", &t_L1FwdJetEta);
1116 tree->Branch(
"t_L1FwdJetPhi",
"vector<double>", &t_L1FwdJetPhi);
1117 tree->Branch(
"t_L1TauJetPt",
"vector<double>", &t_L1TauJetPt);
1118 tree->Branch(
"t_L1TauJetEta",
"vector<double>", &t_L1TauJetEta);
1119 tree->Branch(
"t_L1TauJetPhi",
"vector<double>", &t_L1TauJetPhi);
1120 tree->Branch(
"t_L1MuonPt",
"vector<double>", &t_L1MuonPt);
1121 tree->Branch(
"t_L1MuonEta",
"vector<double>", &t_L1MuonEta);
1122 tree->Branch(
"t_L1MuonPhi",
"vector<double>", &t_L1MuonPhi);
1123 tree->Branch(
"t_L1IsoEMPt",
"vector<double>", &t_L1IsoEMPt);
1124 tree->Branch(
"t_L1IsoEMEta",
"vector<double>", &t_L1IsoEMEta);
1125 tree->Branch(
"t_L1IsoEMPhi",
"vector<double>", &t_L1IsoEMPhi);
1126 tree->Branch(
"t_L1NonIsoEMPt",
"vector<double>", &t_L1NonIsoEMPt);
1127 tree->Branch(
"t_L1NonIsoEMEta",
"vector<double>", &t_L1NonIsoEMEta);
1128 tree->Branch(
"t_L1NonIsoEMPhi",
"vector<double>", &t_L1NonIsoEMPhi);
1129 tree->Branch(
"t_L1METPt",
"vector<double>", &t_L1METPt);
1130 tree->Branch(
"t_L1METEta",
"vector<double>", &t_L1METEta);
1131 tree->Branch(
"t_L1METPhi",
"vector<double>", &t_L1METPhi);
1353 int partID[
Particles]={11,-11,21,211,-211,321,-321,2212,2112,-2212,-2112,130};
1356 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
edm::InputTag L1GTReadoutRcdSource_
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
edm::InputTag L1extraNonIsoEmSource_
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
edm::InputTag L1extraTauJetSource_
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
edm::InputTag L1GTObjectMapRcdSource_
std::vector< double > * t_cHadronEneR_3
edm::InputTag L1extraCenJetSource_
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]
edm::InputTag L1extraFwdJetSource_
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
edm::InputTag L1extraMuonSource_
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
edm::InputTag L1extraIsoEmSource_
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