76 tok_L1GTrorsrc_ = consumes<L1GlobalTriggerReadoutRecord>(L1GTReadoutRcdSource_);
77 tok_L1GTobjmap_ = consumes<L1GlobalTriggerObjectMapRecord>(L1GTObjectMapRcdSource_);
78 tok_L1extMusrc_ = consumes<l1extra::L1MuonParticleCollection>(L1extraMuonSource_);
79 tok_L1Em_ = consumes<l1extra::L1EmParticleCollection>(L1extraIsoEmSource_);
81 tok_L1extTauJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraTauJetSource_);
82 tok_L1extCenJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraCenJetSource_);
83 tok_L1extFwdJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraFwdJetSource_);
85 if (!strcmp(
"Dummy",
genSrc_.c_str())) {
86 if (useHepMC)
genSrc_ =
"generatorSmeared";
90 <<
" pSeed " << pSeed <<
" ptMin " <<
ptMin <<
" etaMax " <<
etaMax 93 <<
" debug " <<
verbosity <<
" debugL1Info " << debugL1Info_ <<
"\n" 94 <<
" Isolation Flag " <<
a_Isolation <<
" with cut " 95 << pCutIsolate <<
" GeV" 145 std::cout <<
"\nL1GlobalTriggerReadoutRecord with \n \nnot found" 146 "\n --> returning false by default!\n" << std::endl;
149 std::cout <<
"\nL1GlobalTriggerObjectMapRecord with \n \nnot found" 150 "\n --> returning false by default!\n" << std::endl;
155 unsigned int numberTriggerBits= dWord.size();
160 std::cout <<
"\n Number of Trigger bits " << numberTriggerBits <<
"\n\n";
161 std::cout <<
"\tBit \t L1 Algorithm " << std::endl;
164 const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtOMRec->
gtObjectMap();
165 for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
166 itMap != objMapVec.end(); ++itMap) {
169 int itrig = (*itMap).algoBitNumber();
183 for (
unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
184 bool accept = dWord[iBit];
196 l1extra::L1JetParticleCollection::const_iterator itr;
197 for(itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr ) {
202 std::cout <<
"tauJ p/pt " << itr->momentum() <<
" " << itr->pt()
203 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
211 for( itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr ) {
216 std::cout <<
"cenJ p/pt " << itr->momentum() <<
" " << itr->pt()
217 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
224 for( itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr ) {
229 std::cout <<
"fwdJ p/pt " << itr->momentum() <<
" " << itr->pt()
230 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
235 l1extra::L1EmParticleCollection::const_iterator itrEm;
238 for( itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm ) {
243 std::cout <<
"isoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
244 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
251 for( itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm ) {
256 std::cout <<
"nonIsoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
257 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
263 l1extra::L1MuonParticleCollection::const_iterator itrMu;
266 for( itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu ) {
271 std::cout <<
"l1muon p/pt " << itrMu->momentum() <<
" " << itrMu->pt()
272 <<
" eta/phi " << itrMu->eta() <<
" " << itrMu->phi()
282 const HepMC::GenEvent *myGenEvent = hepmc->
GetEvent();
285 for (
unsigned int indx=0; indx<trackIDs.size(); ++indx) {
286 int charge = trackIDs[indx].charge;
287 HepMC::GenEvent::particle_const_iterator
p = trackIDs[indx].trkItr;
288 momVec =
math::XYZTLorentzVector((*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
289 if (
verbosity>1)
std::cout <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " << charge <<
" momVec " << momVec << std::endl;
292 std::abs(trackIDs[indx].pdgId)>=21)) {
295 posVec =
GlobalPoint(0.1*(*p)->production_vertex()->position().x(),
296 0.1*(*p)->production_vertex()->position().y(),
297 0.1*(*p)->production_vertex()->position().z());
298 posECAL = trackIDs[indx].pointECAL;
299 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL,
true);
300 if (
verbosity>1)
std::cout <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " << trackIDs[indx].okHCAL << std::endl;
301 if (trackIDs[indx].okECAL) {
314 if (trackIDs[indx].okHCAL) {
323 bool saveTrack =
true;
330 fillTrack (posVec, momVec, posECAL, 0,
false,
false);
336 HepMC::GenEvent::particle_const_iterator
p;
337 for (p=myGenEvent->particles_begin(),indx=0; p!=myGenEvent->particles_end();
339 int pdgId = ((*p)->pdg_id());
342 double pp = (*p)->momentum().rho();
343 double eta = (*p)->momentum().eta();
350 for (
unsigned int indx=0; indx<trackIDs.size(); ++indx) {
351 int charge = trackIDs[indx].charge;
352 reco::GenParticleCollection::const_iterator
p = trackIDs[indx].trkItr;
355 if (
verbosity>1)
std::cout <<
"trkIndx " << indx <<
" pdgid " << trackIDs[indx].pdgId <<
" charge " << charge <<
" momVec " << momVec << std::endl;
359 if (
verbosity>1)
std::cout <<
" pt " << momVec.Pt() <<
" eta " << momVec.eta() << std::endl;
361 posVec =
GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
362 posECAL = trackIDs[indx].pointECAL;
363 if (
verbosity>0)
std::cout <<
"posECAL " << posECAL <<
" okECAL " << trackIDs[indx].okECAL <<
"okHCAL " << trackIDs[indx].okHCAL << std::endl;
364 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL,
true);
365 if (trackIDs[indx].okECAL) {
378 if (trackIDs[indx].okHCAL) {
387 bool saveTrack =
true;
394 fillTrack (posVec, momVec, posECAL, 0,
false,
false);
400 reco::GenParticleCollection::const_iterator
p;
401 for (p=genParticles->begin(),indx=0; p!=genParticles->end(); ++
p,++indx) {
402 int pdgId = (p->pdgId());
405 double pp = (p->momentum()).
R();
406 double eta = (p->momentum()).
Eta();
425 double tempgen_TH[
NPBins+1] = { 0.0, 5.0, 12.0, 300.0};
428 double tempgen_Eta[
NEtaBins+1] = {0.0, 0.5, 1.1, 1.7, 2.3};
442 double pi = 3.141592654;
443 double twopi = 6.283185307;
447 if (diff < pi){
return diff;}
else {
return corr;}
451 double deta = eta1 - eta2;
457 double deta = eta1 - eta2;
459 return deta*deta + dphi*dphi;
471 double phi1 = momVec.phi();
472 double phi2 = (posECAL - posVec).
phi();
473 double dphi =
DeltaPhi( phi1, phi2 );
474 double deta = momVec.eta() - (posECAL - posVec).
eta();
674 h_L1AlgoNames =
fs->
make<TH1I>(
"h_L1AlgoNames",
"h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
676 double pBin[
PBins+1] = {0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 20.0, 30.0, 40.0, 50.0,
677 60.0, 70.0, 80.0, 90.0, 100.0, 150.0, 200.0, 250.0,
678 300.0, 350.0, 400.0, 450.0, 500.0, 550.0, 600.0,
679 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0,
681 double etaBin[
EtaBins+1] = {-3.0, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3,
682 -2.2, -2.1, -2.0, -1.9, -1.8, -1.7, -1.6, -1.5,
683 -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7,
684 -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1,
685 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
686 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7,
687 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5,
688 2.6, 2.7, 2.8, 2.9, 3.0};
690 "#pi^-",
"K^+",
"K^-",
"p",
"n",
"pbar",
695 sprintf (name,
"pEta%d",
i);
696 sprintf (title,
"#eta vs momentum for %s", particle[
i].c_str());
858 t_muEneR =
new std::vector<double>();
916 tree->Branch(
"t_isoTrkPAll",
"vector<double>", &t_isoTrkPAll);
917 tree->Branch(
"t_isoTrkPtAll",
"vector<double>", &t_isoTrkPtAll);
918 tree->Branch(
"t_isoTrkPhiAll",
"vector<double>", &t_isoTrkPhiAll);
919 tree->Branch(
"t_isoTrkEtaAll",
"vector<double>", &t_isoTrkEtaAll);
920 tree->Branch(
"t_isoTrkDPhiAll",
"vector<double>", &t_isoTrkDPhiAll);
921 tree->Branch(
"t_isoTrkDEtaAll",
"vector<double>", &t_isoTrkDEtaAll);
922 tree->Branch(
"t_isoTrkPdgIdAll",
"vector<double>", &t_isoTrkPdgIdAll);
924 tree->Branch(
"t_isoTrkP",
"vector<double>", &t_isoTrkP);
925 tree->Branch(
"t_isoTrkPt",
"vector<double>", &t_isoTrkPt);
926 tree->Branch(
"t_isoTrkEne",
"vector<double>", &t_isoTrkEne);
927 tree->Branch(
"t_isoTrkEta",
"vector<double>", &t_isoTrkEta);
928 tree->Branch(
"t_isoTrkPhi",
"vector<double>", &t_isoTrkPhi);
929 tree->Branch(
"t_isoTrkEtaEC",
"vector<double>", &t_isoTrkEtaEC);
930 tree->Branch(
"t_isoTrkPhiEC",
"vector<double>", &t_isoTrkPhiEC);
931 tree->Branch(
"t_isoTrkPdgId",
"vector<double>", &t_isoTrkPdgId);
933 tree->Branch(
"t_maxNearP31x31",
"vector<double>", &t_maxNearP31x31);
934 tree->Branch(
"t_cHadronEne31x31",
"vector<double>", &t_cHadronEne31x31);
935 tree->Branch(
"t_cHadronEne31x31_1",
"vector<double>", &t_cHadronEne31x31_1);
936 tree->Branch(
"t_cHadronEne31x31_2",
"vector<double>", &t_cHadronEne31x31_2);
937 tree->Branch(
"t_cHadronEne31x31_3",
"vector<double>", &t_cHadronEne31x31_3);
938 tree->Branch(
"t_nHadronEne31x31",
"vector<double>", &t_nHadronEne31x31);
939 tree->Branch(
"t_photonEne31x31",
"vector<double>", &t_photonEne31x31);
940 tree->Branch(
"t_eleEne31x31",
"vector<double>", &t_eleEne31x31);
941 tree->Branch(
"t_muEne31x31",
"vector<double>", &t_muEne31x31);
943 tree->Branch(
"t_maxNearP25x25",
"vector<double>", &t_maxNearP25x25);
944 tree->Branch(
"t_cHadronEne25x25",
"vector<double>", &t_cHadronEne25x25);
945 tree->Branch(
"t_cHadronEne25x25_1",
"vector<double>", &t_cHadronEne25x25_1);
946 tree->Branch(
"t_cHadronEne25x25_2",
"vector<double>", &t_cHadronEne25x25_2);
947 tree->Branch(
"t_cHadronEne25x25_3",
"vector<double>", &t_cHadronEne25x25_3);
948 tree->Branch(
"t_nHadronEne25x25",
"vector<double>", &t_nHadronEne25x25);
949 tree->Branch(
"t_photonEne25x25",
"vector<double>", &t_photonEne25x25);
950 tree->Branch(
"t_eleEne25x25",
"vector<double>", &t_eleEne25x25);
951 tree->Branch(
"t_muEne25x25",
"vector<double>", &t_muEne25x25);
953 tree->Branch(
"t_maxNearP21x21",
"vector<double>", &t_maxNearP21x21);
954 tree->Branch(
"t_cHadronEne21x21",
"vector<double>", &t_cHadronEne21x21);
955 tree->Branch(
"t_cHadronEne21x21_1",
"vector<double>", &t_cHadronEne21x21_1);
956 tree->Branch(
"t_cHadronEne21x21_2",
"vector<double>", &t_cHadronEne21x21_2);
957 tree->Branch(
"t_cHadronEne21x21_3",
"vector<double>", &t_cHadronEne21x21_3);
958 tree->Branch(
"t_nHadronEne21x21",
"vector<double>", &t_nHadronEne21x21);
959 tree->Branch(
"t_photonEne21x21",
"vector<double>", &t_photonEne21x21);
960 tree->Branch(
"t_eleEne21x21",
"vector<double>", &t_eleEne21x21);
961 tree->Branch(
"t_muEne21x21",
"vector<double>", &t_muEne21x21);
963 tree->Branch(
"t_maxNearP15x15",
"vector<double>", &t_maxNearP15x15);
964 tree->Branch(
"t_cHadronEne15x15",
"vector<double>", &t_cHadronEne15x15);
965 tree->Branch(
"t_cHadronEne15x15_1",
"vector<double>", &t_cHadronEne15x15_1);
966 tree->Branch(
"t_cHadronEne15x15_2",
"vector<double>", &t_cHadronEne15x15_2);
967 tree->Branch(
"t_cHadronEne15x15_3",
"vector<double>", &t_cHadronEne15x15_3);
968 tree->Branch(
"t_nHadronEne15x15",
"vector<double>", &t_nHadronEne15x15);
969 tree->Branch(
"t_photonEne15x15",
"vector<double>", &t_photonEne15x15);
970 tree->Branch(
"t_eleEne15x15",
"vector<double>", &t_eleEne15x15);
971 tree->Branch(
"t_muEne15x15",
"vector<double>", &t_muEne15x15);
973 tree->Branch(
"t_maxNearP11x11",
"vector<double>", &t_maxNearP11x11);
974 tree->Branch(
"t_cHadronEne11x11",
"vector<double>", &t_cHadronEne11x11);
975 tree->Branch(
"t_cHadronEne11x11_1",
"vector<double>", &t_cHadronEne11x11_1);
976 tree->Branch(
"t_cHadronEne11x11_2",
"vector<double>", &t_cHadronEne11x11_2);
977 tree->Branch(
"t_cHadronEne11x11_3",
"vector<double>", &t_cHadronEne11x11_3);
978 tree->Branch(
"t_nHadronEne11x11",
"vector<double>", &t_nHadronEne11x11);
979 tree->Branch(
"t_photonEne11x11",
"vector<double>", &t_photonEne11x11);
980 tree->Branch(
"t_eleEne11x11",
"vector<double>", &t_eleEne11x11);
981 tree->Branch(
"t_muEne11x11",
"vector<double>", &t_muEne11x11);
983 tree->Branch(
"t_maxNearP9x9",
"vector<double>", &t_maxNearP9x9);
984 tree->Branch(
"t_cHadronEne9x9",
"vector<double>", &t_cHadronEne9x9);
985 tree->Branch(
"t_cHadronEne9x9_1",
"vector<double>", &t_cHadronEne9x9_1);
986 tree->Branch(
"t_cHadronEne9x9_2",
"vector<double>", &t_cHadronEne9x9_2);
987 tree->Branch(
"t_cHadronEne9x9_3",
"vector<double>", &t_cHadronEne9x9_3);
988 tree->Branch(
"t_nHadronEne9x9",
"vector<double>", &t_nHadronEne9x9);
989 tree->Branch(
"t_photonEne9x9",
"vector<double>", &t_photonEne9x9);
990 tree->Branch(
"t_eleEne9x9",
"vector<double>", &t_eleEne9x9);
991 tree->Branch(
"t_muEne9x9",
"vector<double>", &t_muEne9x9);
993 tree->Branch(
"t_maxNearP7x7",
"vector<double>", &t_maxNearP7x7);
994 tree->Branch(
"t_cHadronEne7x7",
"vector<double>", &t_cHadronEne7x7);
995 tree->Branch(
"t_cHadronEne7x7_1",
"vector<double>", &t_cHadronEne7x7_1);
996 tree->Branch(
"t_cHadronEne7x7_2",
"vector<double>", &t_cHadronEne7x7_2);
997 tree->Branch(
"t_cHadronEne7x7_3",
"vector<double>", &t_cHadronEne7x7_3);
998 tree->Branch(
"t_nHadronEne7x7",
"vector<double>", &t_nHadronEne7x7);
999 tree->Branch(
"t_photonEne7x7",
"vector<double>", &t_photonEne7x7);
1000 tree->Branch(
"t_eleEne7x7",
"vector<double>", &t_eleEne7x7);
1001 tree->Branch(
"t_muEne7x7",
"vector<double>", &t_muEne7x7);
1003 tree->Branch(
"t_maxNearP3x3",
"vector<double>", &t_maxNearP3x3);
1004 tree->Branch(
"t_cHadronEne3x3",
"vector<double>", &t_cHadronEne3x3);
1005 tree->Branch(
"t_cHadronEne3x3_1",
"vector<double>", &t_cHadronEne3x3_1);
1006 tree->Branch(
"t_cHadronEne3x3_2",
"vector<double>", &t_cHadronEne3x3_2);
1007 tree->Branch(
"t_cHadronEne3x3_3",
"vector<double>", &t_cHadronEne3x3_3);
1008 tree->Branch(
"t_nHadronEne3x3",
"vector<double>", &t_nHadronEne3x3);
1009 tree->Branch(
"t_photonEne3x3",
"vector<double>", &t_photonEne3x3);
1010 tree->Branch(
"t_eleEne3x3",
"vector<double>", &t_eleEne3x3);
1011 tree->Branch(
"t_muEne3x3",
"vector<double>", &t_muEne3x3);
1013 tree->Branch(
"t_maxNearP1x1",
"vector<double>", &t_maxNearP1x1);
1014 tree->Branch(
"t_cHadronEne1x1",
"vector<double>", &t_cHadronEne1x1);
1015 tree->Branch(
"t_cHadronEne1x1_1",
"vector<double>", &t_cHadronEne1x1_1);
1016 tree->Branch(
"t_cHadronEne1x1_2",
"vector<double>", &t_cHadronEne1x1_2);
1017 tree->Branch(
"t_cHadronEne1x1_3",
"vector<double>", &t_cHadronEne1x1_3);
1018 tree->Branch(
"t_nHadronEne1x1",
"vector<double>", &t_nHadronEne1x1);
1019 tree->Branch(
"t_photonEne1x1",
"vector<double>", &t_photonEne1x1);
1020 tree->Branch(
"t_eleEne1x1",
"vector<double>", &t_eleEne1x1);
1021 tree->Branch(
"t_muEne1x1",
"vector<double>", &t_muEne1x1);
1023 tree->Branch(
"t_maxNearPHC1x1",
"vector<double>", &t_maxNearPHC1x1);
1024 tree->Branch(
"t_cHadronEneHC1x1",
"vector<double>", &t_cHadronEneHC1x1);
1025 tree->Branch(
"t_cHadronEneHC1x1_1",
"vector<double>", &t_cHadronEneHC1x1_1);
1026 tree->Branch(
"t_cHadronEneHC1x1_2",
"vector<double>", &t_cHadronEneHC1x1_2);
1027 tree->Branch(
"t_cHadronEneHC1x1_3",
"vector<double>", &t_cHadronEneHC1x1_3);
1028 tree->Branch(
"t_nHadronEneHC1x1",
"vector<double>", &t_nHadronEneHC1x1);
1029 tree->Branch(
"t_photonEneHC1x1",
"vector<double>", &t_photonEneHC1x1);
1030 tree->Branch(
"t_eleEneHC1x1",
"vector<double>", &t_eleEneHC1x1);
1031 tree->Branch(
"t_muEneHC1x1",
"vector<double>", &t_muEneHC1x1);
1033 tree->Branch(
"t_maxNearPHC3x3",
"vector<double>", &t_maxNearPHC3x3);
1034 tree->Branch(
"t_cHadronEneHC3x3",
"vector<double>", &t_cHadronEneHC3x3);
1035 tree->Branch(
"t_cHadronEneHC3x3_1",
"vector<double>", &t_cHadronEneHC3x3_1);
1036 tree->Branch(
"t_cHadronEneHC3x3_2",
"vector<double>", &t_cHadronEneHC3x3_2);
1037 tree->Branch(
"t_cHadronEneHC3x3_3",
"vector<double>", &t_cHadronEneHC3x3_3);
1038 tree->Branch(
"t_nHadronEneHC3x3",
"vector<double>", &t_nHadronEneHC3x3);
1039 tree->Branch(
"t_photonEneHC3x3",
"vector<double>", &t_photonEneHC3x3);
1040 tree->Branch(
"t_eleEneHC3x3",
"vector<double>", &t_eleEneHC3x3);
1041 tree->Branch(
"t_muEneHC3x3",
"vector<double>", &t_muEneHC3x3);
1043 tree->Branch(
"t_maxNearPHC5x5",
"vector<double>", &t_maxNearPHC5x5);
1044 tree->Branch(
"t_cHadronEneHC5x5",
"vector<double>", &t_cHadronEneHC5x5);
1045 tree->Branch(
"t_cHadronEneHC5x5_1",
"vector<double>", &t_cHadronEneHC5x5_1);
1046 tree->Branch(
"t_cHadronEneHC5x5_2",
"vector<double>", &t_cHadronEneHC5x5_2);
1047 tree->Branch(
"t_cHadronEneHC5x5_3",
"vector<double>", &t_cHadronEneHC5x5_3);
1048 tree->Branch(
"t_nHadronEneHC5x5",
"vector<double>", &t_nHadronEneHC5x5);
1049 tree->Branch(
"t_photonEneHC5x5",
"vector<double>", &t_photonEneHC5x5);
1050 tree->Branch(
"t_eleEneHC5x5",
"vector<double>", &t_eleEneHC5x5);
1051 tree->Branch(
"t_muEneHC5x5",
"vector<double>", &t_muEneHC5x5);
1053 tree->Branch(
"t_maxNearPHC7x7",
"vector<double>", &t_maxNearPHC7x7);
1054 tree->Branch(
"t_cHadronEneHC7x7",
"vector<double>", &t_cHadronEneHC7x7);
1055 tree->Branch(
"t_cHadronEneHC7x7_1",
"vector<double>", &t_cHadronEneHC7x7_1);
1056 tree->Branch(
"t_cHadronEneHC7x7_2",
"vector<double>", &t_cHadronEneHC7x7_2);
1057 tree->Branch(
"t_cHadronEneHC7x7_3",
"vector<double>", &t_cHadronEneHC7x7_3);
1058 tree->Branch(
"t_nHadronEneHC7x7",
"vector<double>", &t_nHadronEneHC7x7);
1059 tree->Branch(
"t_photonEneHC7x7",
"vector<double>", &t_photonEneHC7x7);
1060 tree->Branch(
"t_eleEneHC7x7",
"vector<double>", &t_eleEneHC7x7);
1061 tree->Branch(
"t_muEneHC7x7",
"vector<double>", &t_muEneHC7x7);
1063 tree->Branch(
"t_maxNearPR",
"vector<double>", &t_maxNearPR);
1064 tree->Branch(
"t_cHadronEneR",
"vector<double>", &t_cHadronEneR);
1065 tree->Branch(
"t_cHadronEneR_1",
"vector<double>", &t_cHadronEneR_1);
1066 tree->Branch(
"t_cHadronEneR_2",
"vector<double>", &t_cHadronEneR_2);
1067 tree->Branch(
"t_cHadronEneR_3",
"vector<double>", &t_cHadronEneR_3);
1068 tree->Branch(
"t_nHadronEneR",
"vector<double>", &t_nHadronEneR);
1069 tree->Branch(
"t_photonEneR",
"vector<double>", &t_photonEneR);
1070 tree->Branch(
"t_eleEneR",
"vector<double>", &t_eleEneR);
1071 tree->Branch(
"t_muEneR",
"vector<double>", &t_muEneR);
1073 tree->Branch(
"t_maxNearPIsoR",
"vector<double>", &t_maxNearPIsoR);
1074 tree->Branch(
"t_cHadronEneIsoR",
"vector<double>", &t_cHadronEneIsoR);
1075 tree->Branch(
"t_cHadronEneIsoR_1",
"vector<double>", &t_cHadronEneIsoR_1);
1076 tree->Branch(
"t_cHadronEneIsoR_2",
"vector<double>", &t_cHadronEneIsoR_2);
1077 tree->Branch(
"t_cHadronEneIsoR_3",
"vector<double>", &t_cHadronEneIsoR_3);
1078 tree->Branch(
"t_nHadronEneIsoR",
"vector<double>", &t_nHadronEneIsoR);
1079 tree->Branch(
"t_photonEneIsoR",
"vector<double>", &t_photonEneIsoR);
1080 tree->Branch(
"t_eleEneIsoR",
"vector<double>", &t_eleEneIsoR);
1081 tree->Branch(
"t_muEneIsoR",
"vector<double>", &t_muEneIsoR);
1083 tree->Branch(
"t_maxNearPHCR",
"vector<double>", &t_maxNearPHCR);
1084 tree->Branch(
"t_cHadronEneHCR",
"vector<double>", &t_cHadronEneHCR);
1085 tree->Branch(
"t_cHadronEneHCR_1",
"vector<double>", &t_cHadronEneHCR_1);
1086 tree->Branch(
"t_cHadronEneHCR_2",
"vector<double>", &t_cHadronEneHCR_2);
1087 tree->Branch(
"t_cHadronEneHCR_3",
"vector<double>", &t_cHadronEneHCR_3);
1088 tree->Branch(
"t_nHadronEneHCR",
"vector<double>", &t_nHadronEneHCR);
1089 tree->Branch(
"t_photonEneHCR",
"vector<double>", &t_photonEneHCR);
1090 tree->Branch(
"t_eleEneHCR",
"vector<double>", &t_eleEneHCR);
1091 tree->Branch(
"t_muEneHCR",
"vector<double>", &t_muEneHCR);
1093 tree->Branch(
"t_maxNearPIsoHCR",
"vector<double>", &t_maxNearPIsoHCR);
1094 tree->Branch(
"t_cHadronEneIsoHCR",
"vector<double>", &t_cHadronEneIsoHCR);
1095 tree->Branch(
"t_cHadronEneIsoHCR_1",
"vector<double>", &t_cHadronEneIsoHCR_1);
1096 tree->Branch(
"t_cHadronEneIsoHCR_2",
"vector<double>", &t_cHadronEneIsoHCR_2);
1097 tree->Branch(
"t_cHadronEneIsoHCR_3",
"vector<double>", &t_cHadronEneIsoHCR_3);
1098 tree->Branch(
"t_nHadronEneIsoHCR",
"vector<double>", &t_nHadronEneIsoHCR);
1099 tree->Branch(
"t_photonEneIsoHCR",
"vector<double>", &t_photonEneIsoHCR);
1100 tree->Branch(
"t_eleEneIsoHCR",
"vector<double>", &t_eleEneIsoHCR);
1101 tree->Branch(
"t_muEneIsoHCR",
"vector<double>", &t_muEneIsoHCR);
1103 tree->Branch(
"t_L1Decision",
"vector<int>", &t_L1Decision);
1104 tree->Branch(
"t_L1CenJetPt",
"vector<double>", &t_L1CenJetPt);
1105 tree->Branch(
"t_L1CenJetEta",
"vector<double>", &t_L1CenJetEta);
1106 tree->Branch(
"t_L1CenJetPhi",
"vector<double>", &t_L1CenJetPhi);
1107 tree->Branch(
"t_L1FwdJetPt",
"vector<double>", &t_L1FwdJetPt);
1108 tree->Branch(
"t_L1FwdJetEta",
"vector<double>", &t_L1FwdJetEta);
1109 tree->Branch(
"t_L1FwdJetPhi",
"vector<double>", &t_L1FwdJetPhi);
1110 tree->Branch(
"t_L1TauJetPt",
"vector<double>", &t_L1TauJetPt);
1111 tree->Branch(
"t_L1TauJetEta",
"vector<double>", &t_L1TauJetEta);
1112 tree->Branch(
"t_L1TauJetPhi",
"vector<double>", &t_L1TauJetPhi);
1113 tree->Branch(
"t_L1MuonPt",
"vector<double>", &t_L1MuonPt);
1114 tree->Branch(
"t_L1MuonEta",
"vector<double>", &t_L1MuonEta);
1115 tree->Branch(
"t_L1MuonPhi",
"vector<double>", &t_L1MuonPhi);
1116 tree->Branch(
"t_L1IsoEMPt",
"vector<double>", &t_L1IsoEMPt);
1117 tree->Branch(
"t_L1IsoEMEta",
"vector<double>", &t_L1IsoEMEta);
1118 tree->Branch(
"t_L1IsoEMPhi",
"vector<double>", &t_L1IsoEMPhi);
1119 tree->Branch(
"t_L1NonIsoEMPt",
"vector<double>", &t_L1NonIsoEMPt);
1120 tree->Branch(
"t_L1NonIsoEMEta",
"vector<double>", &t_L1NonIsoEMEta);
1121 tree->Branch(
"t_L1NonIsoEMPhi",
"vector<double>", &t_L1NonIsoEMPhi);
1122 tree->Branch(
"t_L1METPt",
"vector<double>", &t_L1METPt);
1123 tree->Branch(
"t_L1METEta",
"vector<double>", &t_L1METEta);
1124 tree->Branch(
"t_L1METPhi",
"vector<double>", &t_L1METPhi);
1346 int partID[
Particles]={11,-11,21,211,-211,321,-321,2212,2112,-2212,-2112,130};
1349 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
~IsolatedGenParticles() override
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
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
const std::vector< L1GlobalTriggerObjectMap > & gtObjectMap() const
get / set the vector of object maps
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
const DecisionWord & decisionWord(int bxInEventValue) const
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
const HepMC::GenEvent * GetEvent() const
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
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_
void analyze(const edm::Event &, const edm::EventSetup &) override
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]
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
T const * product() const
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