66 std::cout <<
"Parameters read from config file \n"
68 <<
"\t myverbose_ " << myverbose_
69 <<
"\t minTrackP_ " << minTrackP_
70 <<
"\t maxTrackEta_ " << maxTrackEta_
71 <<
"\t tMinE_ " << tMinE_
75 <<
"\n debugL1Info_ " << debugL1Info_
76 <<
"\t L1TriggerAlgoInfo_ " << L1TriggerAlgoInfo_
77 <<
"\t L1extraTauJetSource_ " << L1extraTauJetSource_
78 <<
"\t L1extraCenJetSource_ " << L1extraCenJetSource_
79 <<
"\t L1extraFwdJetSource_ " << L1extraFwdJetSource_
80 <<
"\t L1extraMuonSource_ " << L1extraMuonSource_
81 <<
"\t L1extraIsoEmSource_ " << L1extraIsoEmSource_
82 <<
"\t L1extraNonIsoEmSource_ " << L1extraNonIsoEmSource_
83 <<
"\t L1GTReadoutRcdSource_ " << L1GTReadoutRcdSource_
84 <<
"\t L1GTObjectMapRcdSource_ " << L1GTObjectMapRcdSource_
85 <<
"\t JetSrc_ " << JetSrc_
86 <<
"\t JetExtender_ " << JetExtender_
87 <<
"\t HBHERecHitSource_ " << HBHERecHitSource_
100 bool haveIsoTrack=
false;
116 iEvent.
getByLabel(
"generalTracks", trkCollection);
117 reco::TrackCollection::const_iterator trkItr;
119 std::cout <<
"Track Collection: " << std::endl;
120 std::cout <<
"Number of Tracks " << trkCollection->size() << std::endl;
137 std::cout <<
"\nL1 configuration code:" << l1ConfCode
138 <<
"\nNo valid L1 trigger configuration available."
139 <<
"\nSee text above for error code interpretation"
140 <<
"\nNo return here, in order to test each method, protected against configuration error."
150 std::cout <<
"menuName " << menuName << std::endl;
151 for (
CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
153 int algBitNumber = ( itAlgo->second ).algoBitNumber();
154 l1AlgoMap.insert( std::pair<std::pair<unsigned int,std::string>,
int>( std::pair<unsigned int,std::string>(algBitNumber, algName) , 0) ) ;
156 std::map< std::pair<unsigned int,std::string>,
int>::iterator itr;
158 std::cout <<
" ********** " << (itr->first).
first <<
" "<<(itr->first).second <<
" "<<itr->second << std::endl;
162 std::vector<int> algbits;
163 for (
CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
165 int algBitNumber = ( itAlgo->second ).algoBitNumber();
174 l1AlgoMap[std::pair<unsigned int,std::string>(algBitNumber, algName)] += 1;
179 algbits.push_back(algBitNumber);
185 std::cout<<
ii<<
" "<<(*t_L1AlgoNames)[
ii]<<
" "<<(*t_L1PreScale)[
ii]<<
" "<<algbits[
ii]<<std::endl;
188 for (
int i=0;
i<128; ++
i) {
197 l1extra::L1JetParticleCollection::const_iterator itr;
199 for(itr = l1TauHandle->begin(),iL1Obj=0; itr != l1TauHandle->end(); ++itr,iL1Obj++) {
206 std::cout <<
"tauJ p/pt " << itr->momentum() <<
" " << itr->pt()
207 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
215 for( itr = l1CenJetHandle->begin(),iL1Obj=0; itr != l1CenJetHandle->end(); ++itr,iL1Obj++ ) {
222 std::cout <<
"cenJ p/pt " << itr->momentum() <<
" " << itr->pt()
223 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
231 for( itr = l1FwdJetHandle->begin(),iL1Obj=0; itr != l1FwdJetHandle->end(); ++itr,iL1Obj++ ) {
238 std::cout <<
"fwdJ p/pt " << itr->momentum() <<
" " << itr->pt()
239 <<
" eta/phi " << itr->eta() <<
" " << itr->phi()
245 l1extra::L1EmParticleCollection::const_iterator itrEm;
248 for( itrEm = l1IsoEmHandle->begin(),iL1Obj=0; itrEm != l1IsoEmHandle->end(); ++itrEm,iL1Obj++ ) {
255 std::cout <<
"isoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
256 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
264 for( itrEm = l1NonIsoEmHandle->begin(),iL1Obj=0; itrEm != l1NonIsoEmHandle->end(); ++itrEm,iL1Obj++ ) {
271 std::cout <<
"nonIsoEm p/pt " << itrEm->momentum() <<
" " << itrEm->pt()
272 <<
" eta/phi " << itrEm->eta() <<
" " << itrEm->phi()
278 l1extra::L1MuonParticleCollection::const_iterator itrMu;
281 for( itrMu = l1MuHandle->begin(),iL1Obj=0; itrMu != l1MuHandle->end(); ++itrMu,iL1Obj++ ) {
288 std::cout <<
"l1muon p/pt " << itrMu->momentum() <<
" " << itrMu->pt()
289 <<
" eta/phi " << itrMu->eta() <<
" " << itrMu->phi()
298 iEvent.
getByLabel(
"offlinePrimaryVertices",recVtxs);
300 std::vector<reco::Track> svTracks;
302 double sumPtMax = -1.0;
303 for(
unsigned int ind=0;ind<recVtxs->size();ind++) {
305 if ( !((*recVtxs)[ind].isFake()) ) {
306 double vtxTrkSumPt=0.0, vtxTrkSumPtWt=0.0;
308 double vtxTrkSumPtHP=0.0, vtxTrkSumPtHPWt=0.0;
309 int vtxTrkNHP =0, vtxTrkNHPWt =0;
313 for (vtxTrack = (*recVtxs)[ind].tracks_begin(); vtxTrack!=(*recVtxs)[ind].tracks_end(); vtxTrack++) {
317 bool trkQuality = (*vtxTrack)->quality(trackQuality_);
319 vtxTrkSumPt += (*vtxTrack)->pt();
321 vtxTrkSumPt += (*vtxTrack)->pt();
323 vtxTrkSumPtHP += (*vtxTrack)->pt();
327 double weight = (*recVtxs)[ind].trackWeight(*vtxTrack);
330 vtxTrkSumPtWt += (*vtxTrack)->pt();
333 vtxTrkSumPtHPWt += (*vtxTrack)->pt();
339 if(vtxTrkSumPt>sumPtMax) {
340 sumPtMax = vtxTrkSumPt;
341 leadPV =
math::XYZPoint( (*recVtxs)[ind].
x(),(*recVtxs)[ind].
y(), (*recVtxs)[ind].
z() );
344 t_PVx ->push_back( (*recVtxs)[ind].
x() );
345 t_PVy ->push_back( (*recVtxs)[ind].
y() );
346 t_PVz ->push_back( (*recVtxs)[ind].
z() );
347 t_PVisValid ->push_back( (*recVtxs)[ind].isValid() );
348 t_PVNTracks ->push_back( (*recVtxs)[ind].tracksSize() );
349 t_PVndof ->push_back( (*recVtxs)[ind].ndof() );
360 std::cout<<
"PV "<<ind<<
" isValid "<<(*recVtxs)[ind].isValid()<<
" isFake "<<(*recVtxs)[ind].isFake()
361 <<
" hasRefittedTracks() "<<ind<<
" "<<(*recVtxs)[ind].hasRefittedTracks()
362 <<
" refittedTrksSize "<<(*recVtxs)[ind].refittedTracks().size()
363 <<
" tracksSize() "<<(*recVtxs)[ind].tracksSize()<<
" sumPt "<<vtxTrkSumPt
372 iEvent.
getByLabel(
"offlineBeamSpot", beamSpotH);
383 for(
unsigned int ijet=0;ijet<(*jets).size();ijet++) {
384 t_jetPt ->push_back( (*jets)[ijet].pt() );
408 iEvent.
getByLabel(
"ecalRecHit",
"EcalRecHitsEB",barrelRecHitsHandle);
409 iEvent.
getByLabel(
"ecalRecHit",
"EcalRecHitsEE",endcapRecHitsHandle);
433 edm::SimTrackContainer::const_iterator simTrkItr;
461 std::vector<spr::propagatedTrackID> trkCaloDets;
463 std::vector<spr::propagatedTrackID>::const_iterator trkDetItr;
466 for(trkDetItr = trkCaloDets.begin(); trkDetItr != trkCaloDets.end(); trkDetItr++){
467 std::cout<<trkDetItr->trkItr->p()<<
" "<<trkDetItr->trkItr->eta()<<
" "<<trkDetItr->okECAL<<
" ";
477 for(trkDetItr = trkCaloDets.begin(),nTracks=0; trkDetItr != trkCaloDets.end(); trkDetItr++,nTracks++){
479 const reco::Track* pTrack = &(*(trkDetItr->trkItr));
483 for(
unsigned int ind=0; ind<recVtxs->size(); ind++) {
484 if (!((*recVtxs)[ind].isFake())) {
486 for (vtxTrack = (*recVtxs)[ind].tracks_begin(); vtxTrack!=(*recVtxs)[ind].tracks_end(); vtxTrack++) {
489 if ( pTrack == pvtxTrack.
get() ) {
493 if( pTrack->
pt()>1.0) {
494 std::cout<<
"Debug the track association with vertex "<<std::endl;
495 std::cout<< pTrack <<
" "<< pvtxTrack.
get() << std::endl;
496 std::cout<<
" trkVtxIndex "<<nvtxTracks<<
" vtx "<<ind<<
" pt "<<pTrack->
pt()
497 <<
" eta "<<pTrack->
eta()<<
" "<<pTrack->
pt()-pvtxTrack->
pt()
498 <<
" "<< pTrack->
eta()-pvtxTrack->
eta()
515 bool ifGood = pTrack->
quality(trackQuality_);
516 double pt1 = pTrack->
pt();
517 double p1 = pTrack->
p();
518 double eta1 = pTrack->
momentum().eta();
519 double phi1 = pTrack->
momentum().phi();
520 double etaEcal1 = trkDetItr->etaECAL;
521 double phiEcal1 = trkDetItr->phiECAL;
522 double etaHcal1 = trkDetItr->etaHCAL;
523 double phiHcal1 = trkDetItr->phiHCAL;
524 double dxy1 = pTrack->
dxy();
525 double dz1 = pTrack->
dz();
527 double dxybs1 = beamSpotH.
isValid() ? pTrack->
dxy(bspot) : pTrack->
dxy();
528 double dzbs1 = beamSpotH.
isValid() ? pTrack->
dz(bspot) : pTrack->
dz();
529 double dxypv1 = pTrack->
dxy();
530 double dzpv1 = pTrack->
dz();
533 dxypv1 = pTrack->
dxy(thisTkPV);
534 dzpv1 = pTrack->
dz (thisTkPV);
544 if(ifGood && nLayersCrossed>7 ) {
553 if( ! ifGood )
continue;
567 edm::SimTrackContainer::const_iterator matchedSimTrkAll =
spr::matchedSimTrack(iEvent, SimTk, SimVtx, pTrack, *associate,
false);
573 double maxNearP31x31=999.0, maxNearP25x25=999.0, maxNearP21x21=999.0, maxNearP15x15=999.0;
579 int iTrkEtaBin=-1, iTrkMomBin=-1;
580 for(
unsigned int ieta=0; ieta<
NEtaBins; ieta++) {
583 for(
unsigned int ipt=0; ipt<
NPBins; ipt++) {
586 if( iTrkMomBin>=0 && iTrkEtaBin>=0 ) {
592 if( maxNearP31x31<0.0 && nLayersCrossed>7 && nOuterHits>4) {
602 if( maxNearP31x31<1.0) {
607 double simTrackP = -1;
609 edm::SimTrackContainer::const_iterator matchedSimTrk =
spr::matchedSimTrack(iEvent, SimTk, SimVtx, pTrack, *associate,
false);
610 if( matchedSimTrk != SimTk->end() )simTrackP = matchedSimTrk->momentum().P();
617 std::pair<double, bool> e7x7P, e9x9P, e11x11P, e15x15P;
618 std::pair<double, bool> e7x7_10SigP, e9x9_10SigP, e11x11_10SigP, e15x15_10SigP;
619 std::pair<double, bool> e7x7_15SigP, e9x9_15SigP, e11x11_15SigP, e15x15_15SigP;
620 std::pair<double, bool> e7x7_20SigP, e9x9_20SigP, e11x11_20SigP, e15x15_20SigP;
621 std::pair<double, bool> e7x7_25SigP, e9x9_25SigP, e11x11_25SigP, e15x15_25SigP;
622 std::pair<double, bool> e7x7_30SigP, e9x9_30SigP, e11x11_30SigP, e15x15_30SigP;
625 spr::caloSimInfo simInfo11x11, simInfo13x13, simInfo15x15, simInfo21x21, simInfo25x25, simInfo31x31;
628 const DetId isoCell = trkDetItr->detIdECAL;
629 e7x7P =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),3,3, -100.0, -100.0,
tMinE_,
tMaxE_);
630 e9x9P =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),4,4, -100.0, -100.0,
tMinE_,
tMaxE_);
631 e11x11P =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),5,5, -100.0, -100.0,
tMinE_,
tMaxE_);
632 e15x15P =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),7,7, -100.0, -100.0,
tMinE_,
tMaxE_);
634 e7x7_10SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),3,3, 0.030, 0.150,
tMinE_,
tMaxE_);
635 e9x9_10SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),4,4, 0.030, 0.150,
tMinE_,
tMaxE_);
636 e11x11_10SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),5,5, 0.030, 0.150,
tMinE_,
tMaxE_);
637 e15x15_10SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),7,7, 0.030, 0.150,
tMinE_,
tMaxE_);
639 e7x7_15SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.
product(),ttMap, 3,3, 0.20,0.45,
tMinE_,
tMaxE_);
640 e9x9_15SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.
product(),ttMap, 4,4, 0.20,0.45,
tMinE_,
tMaxE_);
641 e11x11_15SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(), ttMap, 5,5, 0.20,0.45,
tMinE_,
tMaxE_);
642 e15x15_15SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.
product(),ttMap, 7,7, 0.20,0.45,
tMinE_,
tMaxE_,
false);
644 e7x7_20SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),3,3, 0.060, 0.300,
tMinE_,
tMaxE_);
645 e9x9_20SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),4,4, 0.060, 0.300,
tMinE_,
tMaxE_);
646 e11x11_20SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),5,5, 0.060, 0.300,
tMinE_,
tMaxE_);
647 e15x15_20SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),7,7, 0.060, 0.300,
tMinE_,
tMaxE_);
649 e7x7_25SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),3,3, 0.075, 0.375,
tMinE_,
tMaxE_);
650 e9x9_25SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),4,4, 0.075, 0.375,
tMinE_,
tMaxE_);
651 e11x11_25SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),5,5, 0.075, 0.375,
tMinE_,
tMaxE_);
652 e15x15_25SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),7,7, 0.075, 0.375,
tMinE_,
tMaxE_);
654 e7x7_30SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),3,3, 0.090, 0.450,
tMinE_,
tMaxE_);
655 e9x9_30SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),4,4, 0.090, 0.450,
tMinE_,
tMaxE_);
656 e11x11_30SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),5,5, 0.090, 0.450,
tMinE_,
tMaxE_);
657 e15x15_30SigP =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.
product(),7,7, 0.090, 0.450,
tMinE_,
tMaxE_);
659 std::cout <<
"clean ecal rechit " << std::endl;
660 std::cout<<
"e7x7 "<<e7x7P.first<<
" e9x9 "<<e9x9P.first<<
" e11x11 " << e11x11P.first <<
" e15x15 "<<e15x15P.first<<std::endl;
661 std::cout<<
"e7x7_10Sig "<<e7x7_10SigP.first<<
" e11x11_10Sig "<<e11x11_10SigP.first<<
" e15x15_10Sig "<<e15x15_10SigP.first<<std::endl;
666 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 1,1, simInfo3x3);
667 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 2,2, simInfo5x5);
668 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 3,3, simInfo7x7);
669 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 4,4, simInfo9x9);
670 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 5,5, simInfo11x11);
671 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 6,6, simInfo13x13);
672 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 7,7, simInfo15x15, 150.0,
false);
673 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 10,10, simInfo21x21);
674 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 12,12, simInfo25x25);
675 spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 15,15, simInfo31x31);
677 trkEcalEne =
spr::eCaloSimInfo(iEvent, geo, pcaloeb,pcaloee, SimTk, SimVtx, pTrack, *associate);
679 std::cout <<
"Track momentum " << pt1 << std::endl;
681 std::cout <<
"ecal siminfo " << std::endl;
686 std::cout <<
"simInfo11x11: " <<
"eTotal " << simInfo11x11.
eTotal <<
" eMatched " << simInfo11x11.
eMatched <<
" eRest " << simInfo11x11.
eRest <<
" eGamma "<<simInfo11x11.
eGamma <<
" eNeutralHad " << simInfo11x11.
eNeutralHad <<
" eChargedHad " << simInfo11x11.
eChargedHad << std::endl;
687 std::cout <<
"simInfo15x15: " <<
"eTotal " << simInfo15x15.
eTotal <<
" eMatched " << simInfo15x15.
eMatched <<
" eRest " << simInfo15x15.
eRest <<
" eGamma "<<simInfo15x15.
eGamma <<
" eNeutralHad " << simInfo15x15.
eNeutralHad <<
" eChargedHad " << simInfo15x15.
eChargedHad << std::endl;
688 std::cout <<
"simInfo31x31: " <<
"eTotal " << simInfo31x31.
eTotal <<
" eMatched " << simInfo31x31.
eMatched <<
" eRest " << simInfo31x31.
eRest <<
" eGamma "<<simInfo31x31.
eGamma <<
" eNeutralHad " << simInfo31x31.
eNeutralHad <<
" eChargedHad " << simInfo31x31.
eChargedHad << std::endl;
689 std::cout <<
"trkEcalEne" << trkEcalEne << std::endl;
694 double hcalScale=1.0;
701 double maxNearHcalP3x3=-1, maxNearHcalP5x5=-1, maxNearHcalP7x7=-1;
706 double h3x3=0, h5x5=0, h7x7=0;
707 double h3x3Sig=0, h5x5Sig=0, h7x7Sig=0;
708 double trkHcalEne = 0;
711 if(trkDetItr->okHCAL) {
712 const DetId ClosestCell(trkDetItr->detIdHCAL);
714 h3x3 =
spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,1,1,
false,
true, -100.0, -100.0, -100.0, -100.0,
tMinH_,
tMaxH_);
715 h5x5 =
spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,2,2,
false,
true, -100.0, -100.0, -100.0, -100.0,
tMinH_,
tMaxH_);
716 h7x7 =
spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,3,3,
false,
true, -100.0, -100.0, -100.0, -100.0,
tMinH_,
tMaxH_);
717 h3x3Sig =
spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,1,1,
false,
true, 0.7, 0.8, -100.0, -100.0,
tMinH_,
tMaxH_);
718 h5x5Sig =
spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,2,2,
false,
true, 0.7, 0.8, -100.0, -100.0,
tMinH_,
tMaxH_);
719 h7x7Sig =
spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,3,3,
false,
true, 0.7, 0.8, -100.0, -100.0,
tMinH_,
tMaxH_);
722 std::cout <<
"HCAL 3x3 " << h3x3 <<
" " << h3x3Sig <<
" 5x5 " << h5x5 <<
" " << h5x5Sig <<
" 7x7 " << h7x7 <<
" " << h7x7Sig << std::endl;
726 spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 1,1, hsimInfo3x3);
727 spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 2,2, hsimInfo5x5);
728 spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 3,3, hsimInfo7x7, 150.0,
false,
false);
729 trkHcalEne =
spr::eCaloSimInfo(iEvent, geo,pcalohh, SimTk, SimVtx, pTrack, *associate);
731 std::cout <<
"Hcal siminfo " << std::endl;
732 std::cout <<
"hsimInfo3x3: " <<
"eTotal " << hsimInfo3x3.
eTotal <<
" eMatched " << hsimInfo3x3.
eMatched <<
" eRest " << hsimInfo3x3.
eRest <<
" eGamma "<<hsimInfo3x3.
eGamma <<
" eNeutralHad " << hsimInfo3x3.
eNeutralHad <<
" eChargedHad " << hsimInfo3x3.
eChargedHad << std::endl;
733 std::cout <<
"hsimInfo5x5: " <<
"eTotal " << hsimInfo5x5.
eTotal <<
" eMatched " << hsimInfo5x5.
eMatched <<
" eRest " << hsimInfo5x5.
eRest <<
" eGamma "<<hsimInfo5x5.
eGamma <<
" eNeutralHad " << hsimInfo5x5.
eNeutralHad <<
" eChargedHad " << hsimInfo5x5.
eChargedHad << std::endl;
734 std::cout <<
"hsimInfo7x7: " <<
"eTotal " << hsimInfo7x7.
eTotal <<
" eMatched " << hsimInfo7x7.
eMatched <<
" eRest " << hsimInfo7x7.
eRest <<
" eGamma "<<hsimInfo7x7.
eGamma <<
" eNeutralHad " << hsimInfo7x7.
eNeutralHad <<
" eChargedHad " << hsimInfo7x7.
eChargedHad << std::endl;
735 std::cout <<
"trkHcalEne " << trkHcalEne << std::endl;
742 std::vector<std::pair<DetId,double> > v7x7 =
spr::eHCALmatrixCell(theHBHETopology, ClosestCell, hbhe,3,3,
false,
false);
745 for(
unsigned int iv=0; iv<v7x7.size(); iv++) {
746 sumv += v7x7[iv].second;
748 std::cout<<
"h7x7 "<<h7x7<<
" v7x7 "<<sumv <<
" in " << v7x7.size() <<std::endl;
749 for(
unsigned int iv=0; iv<v7x7.size(); iv++) {
751 std::cout <<
" Cell " << iv <<
" 0x" << std::hex << v7x7[iv].first() << std::dec <<
" " <<
id <<
" Energy " << v7x7[iv].second << std::endl;
757 trkHcalEne =
spr::eCaloSimInfo(iEvent, geo,pcalohh, SimTk, SimVtx, pTrack, *associate);
766 double trackOutPosOutHitDr =
diff.R();
767 double trackL = point2_TK0.second;
769 std::cout<<
" propagted "<<point2_TK0.first<<
" "<< point2_TK0.first.eta()<<
" "<<point2_TK0.first.phi()<<std::endl;
771 std::cout<<
"diff " <<
diff <<
" diffR " <<
diff.R()<<
" diffR/L "<<
diff.R()/point2_TK0.second <<std::endl;
774 for(
unsigned int ind=0;ind<recVtxs->size();ind++) {
775 if (!((*recVtxs)[ind].isFake())) {
777 if(
DeltaR(eta1,phi1, (*vtxTrack)->eta(),(*vtxTrack)->phi()) < 0.01 )
t_trackPVIdx ->push_back( ind );
831 t_e7x7 ->push_back( e7x7P.first );
832 t_e9x9 ->push_back( e9x9P.first );
833 t_e11x11 ->push_back( e11x11P.first );
834 t_e15x15 ->push_back( e15x15P.first );
897 t_h3x3 ->push_back( h3x3 );
898 t_h5x5 ->push_back( h5x5 );
899 t_h7x7 ->push_back( h7x7 );
958 if(haveIsoTrack)
tree->Fill();
967 double tempgen_TH[16] = { 0.0, 1.0, 2.0, 3.0, 4.0,
968 5.0, 6.0, 7.0, 9.0, 11.0,
969 15.0, 20.0, 30.0, 50.0, 75.0, 100.0};
973 double tempgen_Eta[4] = {0.0, 1.131, 1.653, 2.172};
984 std::map< std::pair<unsigned int,std::string>,
int>::iterator itr;
987 <<(itr->first).second <<
" "<<itr->second
989 int ibin = (itr->first).
first;
990 TString
name( (itr->first).second );
1205 char hname[100], htit[100];
1209 for(
unsigned int ieta=0; ieta<
NEtaBins; ieta++) {
1210 double lowEta=-5.0, highEta= 5.0;
1214 for(
unsigned int ipt=0; ipt<
NPBins; ipt++) {
1215 double lowP=0.0, highP=300.0;
1218 sprintf(hname,
"h_maxNearP31x31_ptBin%i_etaBin%i",ipt, ieta);
1219 sprintf(htit,
"maxNearP in 31x31 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1222 sprintf(hname,
"h_maxNearP25x25_ptBin%i_etaBin%i",ipt, ieta);
1223 sprintf(htit,
"maxNearP in 25x25 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1226 sprintf(hname,
"h_maxNearP21x21_ptBin%i_etaBin%i",ipt, ieta);
1227 sprintf(htit,
"maxNearP in 21x21 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1230 sprintf(hname,
"h_maxNearP15x15_ptBin%i_etaBin%i",ipt, ieta);
1231 sprintf(htit,
"maxNearP in 15x15 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1237 h_L1AlgoNames =
fs->
make<TH1I>(
"h_L1AlgoNames",
"h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
1243 h_nTracks =
fs->
make<TH1F>(
"h_nTracks",
"h_nTracks", 1000, -0.5, 999.5);
1245 sprintf(hname,
"h_recEtaPt_0");
1246 sprintf(htit,
"h_recEtaPt (all tracks Eta vs pT)");
1249 sprintf(hname,
"h_recEtaP_0");
1250 sprintf(htit,
"h_recEtaP (all tracks Eta vs pT)");
1255 h_recEta_0 =
fs->
make<TH1F>(
"h_recEta_0",
"Eta (all tracks)", 60, -3.0, 3.0);
1256 h_recPhi_0 =
fs->
make<TH1F>(
"h_recPhi_0",
"Phi (all tracks)", 100, -3.2, 3.2);
1258 sprintf(hname,
"h_recEtaPt_1");
1259 sprintf(htit,
"h_recEtaPt (all good tracks Eta vs pT)");
1262 sprintf(hname,
"h_recEtaP_1");
1263 sprintf(htit,
"h_recEtaP (all good tracks Eta vs pT)");
1268 h_recEta_1 =
fs->
make<TH1F>(
"h_recEta_1",
"Eta (all good tracks)", 60, -3.0, 3.0);
1269 h_recPhi_1 =
fs->
make<TH1F>(
"h_recPhi_1",
"Phi (all good tracks)", 100, -3.2, 3.2);
1271 sprintf(hname,
"h_recEtaPt_2");
1272 sprintf(htit,
"h_recEtaPt (charge isolation Eta vs pT)");
1275 sprintf(hname,
"h_recEtaP_2");
1276 sprintf(htit,
"h_recEtaP (charge isolation Eta vs pT)");
1281 h_recEta_2 =
fs->
make<TH1F>(
"h_recEta_2",
"Eta (charge isolation)", 60, -3.0, 3.0);
1282 h_recPhi_2 =
fs->
make<TH1F>(
"h_recPhi_2",
"Phi (charge isolation)", 100, -3.2, 3.2);
1286 tree->SetAutoSave(10000);
1295 t_PVx =
new std::vector<double>();
1296 t_PVy =
new std::vector<double>();
1297 t_PVz =
new std::vector<double>();
1309 tree->Branch(
"PVx" ,
"vector<double>" ,&
t_PVx);
1310 tree->Branch(
"PVy" ,
"vector<double>" ,&t_PVy);
1311 tree->Branch(
"PVz" ,
"vector<double>" ,&t_PVz);
1312 tree->Branch(
"PVisValid" ,
"vector<int>" ,&t_PVisValid);
1313 tree->Branch(
"PVndof" ,
"vector<int>" ,&t_PVndof);
1314 tree->Branch(
"PVNTracks" ,
"vector<int>" ,&t_PVNTracks);
1315 tree->Branch(
"PVNTracksWt" ,
"vector<int>" ,&t_PVNTracksWt);
1316 tree->Branch(
"t_PVTracksSumPt" ,
"vector<double>" ,&t_PVTracksSumPt);
1317 tree->Branch(
"t_PVTracksSumPtWt" ,
"vector<double>" ,&t_PVTracksSumPtWt);
1318 tree->Branch(
"PVNTracksHP" ,
"vector<int>" ,&t_PVNTracksHP);
1319 tree->Branch(
"PVNTracksHPWt" ,
"vector<int>" ,&t_PVNTracksHPWt);
1320 tree->Branch(
"t_PVTracksSumPtHP" ,
"vector<double>" ,&t_PVTracksSumPtHP);
1321 tree->Branch(
"t_PVTracksSumPtHPWt" ,
"vector<double>" ,&t_PVTracksSumPtHPWt);
1351 tree->Branch(
"t_L1PreScale",
"vector<int>", &t_L1PreScale);
1352 tree->Branch(
"t_L1CenJetPt",
"vector<double>", &t_L1CenJetPt);
1353 tree->Branch(
"t_L1CenJetEta",
"vector<double>", &t_L1CenJetEta);
1354 tree->Branch(
"t_L1CenJetPhi",
"vector<double>", &t_L1CenJetPhi);
1355 tree->Branch(
"t_L1FwdJetPt",
"vector<double>", &t_L1FwdJetPt);
1356 tree->Branch(
"t_L1FwdJetEta",
"vector<double>", &t_L1FwdJetEta);
1357 tree->Branch(
"t_L1FwdJetPhi",
"vector<double>", &t_L1FwdJetPhi);
1358 tree->Branch(
"t_L1TauJetPt",
"vector<double>", &t_L1TauJetPt);
1359 tree->Branch(
"t_L1TauJetEta",
"vector<double>", &t_L1TauJetEta);
1360 tree->Branch(
"t_L1TauJetPhi",
"vector<double>", &t_L1TauJetPhi);
1361 tree->Branch(
"t_L1MuonPt",
"vector<double>", &t_L1MuonPt);
1362 tree->Branch(
"t_L1MuonEta",
"vector<double>", &t_L1MuonEta);
1363 tree->Branch(
"t_L1MuonPhi",
"vector<double>", &t_L1MuonPhi);
1364 tree->Branch(
"t_L1IsoEMPt",
"vector<double>", &t_L1IsoEMPt);
1365 tree->Branch(
"t_L1IsoEMEta",
"vector<double>", &t_L1IsoEMEta);
1366 tree->Branch(
"t_L1IsoEMPhi",
"vector<double>", &t_L1IsoEMPhi);
1367 tree->Branch(
"t_L1NonIsoEMPt",
"vector<double>", &t_L1NonIsoEMPt);
1368 tree->Branch(
"t_L1NonIsoEMEta",
"vector<double>", &t_L1NonIsoEMEta);
1369 tree->Branch(
"t_L1NonIsoEMPhi",
"vector<double>", &t_L1NonIsoEMPhi);
1370 tree->Branch(
"t_L1METPt",
"vector<double>", &t_L1METPt);
1371 tree->Branch(
"t_L1METEta",
"vector<double>", &t_L1METEta);
1372 tree->Branch(
"t_L1METPhi",
"vector<double>", &t_L1METPhi);
1374 t_jetPt =
new std::vector<double>();
1375 t_jetEta =
new std::vector<double>();
1376 t_jetPhi =
new std::vector<double>();
1379 tree->Branch(
"t_jetPt",
"vector<double>",&
t_jetPt);
1380 tree->Branch(
"t_jetEta",
"vector<double>",&t_jetEta);
1381 tree->Branch(
"t_jetPhi",
"vector<double>",&t_jetPhi);
1382 tree->Branch(
"t_nTrksJetCalo",
"vector<double>",&t_nTrksJetCalo);
1383 tree->Branch(
"t_nTrksJetVtx",
"vector<double>",&t_nTrksJetVtx);
1396 tree->Branch(
"t_trackPhiAll",
"vector<double>", &t_trackPhiAll );
1397 tree->Branch(
"t_trackEtaAll",
"vector<double>", &t_trackEtaAll );
1398 tree->Branch(
"t_trackPtAll",
"vector<double>", &t_trackPtAll );
1399 tree->Branch(
"t_trackDxyAll",
"vector<double>", &t_trackDxyAll );
1400 tree->Branch(
"t_trackDzAll",
"vector<double>", &t_trackDzAll );
1401 tree->Branch(
"t_trackDxyPVAll",
"vector<double>", &t_trackDxyPVAll );
1402 tree->Branch(
"t_trackDzPVAll",
"vector<double>", &t_trackDzPVAll );
1403 tree->Branch(
"t_trackChiSqAll",
"vector<double>", &t_trackChiSqAll );
1406 t_trackP =
new std::vector<double>();
1435 t_trackHitOutMissTOB =
new std::vector<int>();
1436 t_trackHitOutMissTEC =
new std::vector<int>();
1437 t_trackHitOutMissTIB =
new std::vector<int>();
1438 t_trackHitOutMissTID =
new std::vector<int>();
1449 t_trackL =
new std::vector<double>();
1451 tree->Branch(
"t_trackP",
"vector<double>", &
t_trackP );
1452 tree->Branch(
"t_trackPt",
"vector<double>", &t_trackPt );
1453 tree->Branch(
"t_trackEta",
"vector<double>", &t_trackEta );
1454 tree->Branch(
"t_trackPhi",
"vector<double>", &t_trackPhi );
1455 tree->Branch(
"t_trackEcalEta",
"vector<double>", &t_trackEcalEta );
1456 tree->Branch(
"t_trackEcalPhi",
"vector<double>", &t_trackEcalPhi );
1457 tree->Branch(
"t_trackHcalEta",
"vector<double>", &t_trackHcalEta );
1458 tree->Branch(
"t_trackHcalPhi",
"vector<double>", &t_trackHcalPhi );
1460 tree->Branch(
"t_trackNOuterHits",
"vector<int>", &t_trackNOuterHits );
1461 tree->Branch(
"t_NLayersCrossed",
"vector<int>", &t_NLayersCrossed );
1462 tree->Branch(
"t_trackHitsTOB",
"vector<int>", &t_trackHitsTOB );
1463 tree->Branch(
"t_trackHitsTEC",
"vector<int>", &t_trackHitsTEC );
1464 tree->Branch(
"t_trackHitInMissTOB",
"vector<int>", &t_trackHitInMissTOB );
1465 tree->Branch(
"t_trackHitInMissTEC",
"vector<int>", &t_trackHitInMissTEC );
1466 tree->Branch(
"t_trackHitInMissTIB",
"vector<int>", &t_trackHitInMissTIB );
1467 tree->Branch(
"t_trackHitInMissTID",
"vector<int>", &t_trackHitInMissTID );
1468 tree->Branch(
"t_trackHitInMissTIBTID",
"vector<int>", &t_trackHitInMissTIBTID );
1469 tree->Branch(
"t_trackHitOutMissTOB",
"vector<int>", &t_trackHitOutMissTOB);
1470 tree->Branch(
"t_trackHitOutMissTEC",
"vector<int>", &t_trackHitOutMissTEC);
1471 tree->Branch(
"t_trackHitOutMissTIB",
"vector<int>", &t_trackHitOutMissTIB);
1472 tree->Branch(
"t_trackHitOutMissTID",
"vector<int>", &t_trackHitOutMissTID);
1473 tree->Branch(
"t_trackHitOutMissTOBTEC",
"vector<int>", &t_trackHitOutMissTOBTEC);
1474 tree->Branch(
"t_trackHitInMeasTOB",
"vector<int>", &t_trackHitInMeasTOB );
1475 tree->Branch(
"t_trackHitInMeasTEC",
"vector<int>", &t_trackHitInMeasTEC );
1476 tree->Branch(
"t_trackHitInMeasTIB",
"vector<int>", &t_trackHitInMeasTIB );
1477 tree->Branch(
"t_trackHitInMeasTID",
"vector<int>", &t_trackHitInMeasTID );
1478 tree->Branch(
"t_trackHitOutMeasTOB",
"vector<int>", &t_trackHitOutMeasTOB);
1479 tree->Branch(
"t_trackHitOutMeasTEC",
"vector<int>", &t_trackHitOutMeasTEC);
1480 tree->Branch(
"t_trackHitOutMeasTIB",
"vector<int>", &t_trackHitOutMeasTIB);
1481 tree->Branch(
"t_trackHitOutMeasTID",
"vector<int>", &t_trackHitOutMeasTID);
1482 tree->Branch(
"t_trackOutPosOutHitDr",
"vector<double>", &t_trackOutPosOutHitDr);
1483 tree->Branch(
"t_trackL",
"vector<double>", &t_trackL);
1485 tree->Branch(
"t_trackDxy",
"vector<double>", &t_trackDxy );
1486 tree->Branch(
"t_trackDxyBS",
"vector<double>", &t_trackDxyBS );
1487 tree->Branch(
"t_trackDz",
"vector<double>", &t_trackDz );
1488 tree->Branch(
"t_trackDzBS",
"vector<double>", &t_trackDzBS );
1489 tree->Branch(
"t_trackDxyPV",
"vector<double>", &t_trackDxyPV );
1490 tree->Branch(
"t_trackDzPV",
"vector<double>", &t_trackDzPV );
1491 tree->Branch(
"t_trackChiSq",
"vector<double>", &t_trackChiSq );
1492 tree->Branch(
"t_trackPVIdx",
"vector<int>", &t_trackPVIdx );
1498 tree->Branch(
"t_maxNearP21x21",
"vector<double>", &t_maxNearP21x21);
1501 t_e7x7 =
new std::vector<double>();
1502 t_e9x9 =
new std::vector<double>();
1503 t_e11x11 =
new std::vector<double>();
1504 t_e15x15 =
new std::vector<double>();
1507 tree->Branch(
"t_e7x7",
"vector<double>", &t_e7x7);
1508 tree->Branch(
"t_e9x9",
"vector<double>", &t_e9x9);
1509 tree->Branch(
"t_e11x11",
"vector<double>", &t_e11x11);
1510 tree->Branch(
"t_e15x15",
"vector<double>", &t_e15x15);
1534 tree->Branch(
"t_e9x9_10Sig" ,
"vector<double>", &t_e9x9_10Sig);
1535 tree->Branch(
"t_e11x11_10Sig" ,
"vector<double>", &t_e11x11_10Sig);
1536 tree->Branch(
"t_e15x15_10Sig" ,
"vector<double>", &t_e15x15_10Sig);
1537 tree->Branch(
"t_e7x7_15Sig" ,
"vector<double>", &t_e7x7_15Sig);
1538 tree->Branch(
"t_e9x9_15Sig" ,
"vector<double>", &t_e9x9_15Sig);
1539 tree->Branch(
"t_e11x11_15Sig" ,
"vector<double>", &t_e11x11_15Sig);
1540 tree->Branch(
"t_e15x15_15Sig" ,
"vector<double>", &t_e15x15_15Sig);
1541 tree->Branch(
"t_e7x7_20Sig" ,
"vector<double>", &t_e7x7_20Sig);
1542 tree->Branch(
"t_e9x9_20Sig" ,
"vector<double>", &t_e9x9_20Sig);
1543 tree->Branch(
"t_e11x11_20Sig" ,
"vector<double>", &t_e11x11_20Sig);
1544 tree->Branch(
"t_e15x15_20Sig" ,
"vector<double>", &t_e15x15_20Sig);
1545 tree->Branch(
"t_e7x7_25Sig" ,
"vector<double>", &t_e7x7_25Sig);
1546 tree->Branch(
"t_e9x9_25Sig" ,
"vector<double>", &t_e9x9_25Sig);
1547 tree->Branch(
"t_e11x11_25Sig" ,
"vector<double>", &t_e11x11_25Sig);
1548 tree->Branch(
"t_e15x15_25Sig" ,
"vector<double>", &t_e15x15_25Sig);
1549 tree->Branch(
"t_e7x7_30Sig" ,
"vector<double>", &t_e7x7_30Sig);
1550 tree->Branch(
"t_e9x9_30Sig" ,
"vector<double>", &t_e9x9_30Sig);
1551 tree->Branch(
"t_e11x11_30Sig" ,
"vector<double>", &t_e11x11_30Sig);
1552 tree->Branch(
"t_e15x15_30Sig" ,
"vector<double>", &t_e15x15_30Sig);
1590 tree->Branch(
"t_esim9x9",
"vector<double>", &t_esim9x9);
1591 tree->Branch(
"t_esim11x11",
"vector<double>", &t_esim11x11);
1592 tree->Branch(
"t_esim15x15",
"vector<double>", &t_esim15x15);
1594 tree->Branch(
"t_esim7x7Matched",
"vector<double>", &t_esim7x7Matched);
1595 tree->Branch(
"t_esim9x9Matched",
"vector<double>", &t_esim9x9Matched);
1596 tree->Branch(
"t_esim11x11Matched",
"vector<double>", &t_esim11x11Matched);
1597 tree->Branch(
"t_esim15x15Matched",
"vector<double>", &t_esim15x15Matched);
1599 tree->Branch(
"t_esim7x7Rest",
"vector<double>", &t_esim7x7Rest);
1600 tree->Branch(
"t_esim9x9Rest",
"vector<double>", &t_esim9x9Rest);
1601 tree->Branch(
"t_esim11x11Rest",
"vector<double>", &t_esim11x11Rest);
1602 tree->Branch(
"t_esim15x15Rest",
"vector<double>", &t_esim15x15Rest);
1604 tree->Branch(
"t_esim7x7Photon",
"vector<double>", &t_esim7x7Photon);
1605 tree->Branch(
"t_esim9x9Photon",
"vector<double>", &t_esim9x9Photon);
1606 tree->Branch(
"t_esim11x11Photon",
"vector<double>", &t_esim11x11Photon);
1607 tree->Branch(
"t_esim15x15Photon",
"vector<double>", &t_esim15x15Photon);
1610 tree->Branch(
"t_esim7x7NeutHad",
"vector<double>", &t_esim7x7NeutHad);
1611 tree->Branch(
"t_esim9x9NeutHad",
"vector<double>", &t_esim9x9NeutHad);
1612 tree->Branch(
"t_esim11x11NeutHad",
"vector<double>", &t_esim11x11NeutHad);
1613 tree->Branch(
"t_esim15x15NeutHad",
"vector<double>", &t_esim15x15NeutHad);
1615 tree->Branch(
"t_esim7x7CharHad",
"vector<double>", &t_esim7x7CharHad);
1616 tree->Branch(
"t_esim9x9CharHad",
"vector<double>", &t_esim9x9CharHad);
1617 tree->Branch(
"t_esim11x11CharHad",
"vector<double>", &t_esim11x11CharHad);
1618 tree->Branch(
"t_esim15x15CharHad",
"vector<double>", &t_esim15x15CharHad);
1620 tree->Branch(
"t_trkEcalEne",
"vector<double>", &t_trkEcalEne);
1621 tree->Branch(
"t_simTrackP",
"vector<double>", &t_simTrackP);
1622 tree->Branch(
"t_esimPdgId",
"vector<double>", &t_esimPdgId);
1628 t_h3x3 =
new std::vector<double>();
1629 t_h5x5 =
new std::vector<double>();
1630 t_h7x7 =
new std::vector<double>();
1659 tree->Branch(
"t_maxNearHcalP5x5",
"vector<double>", &t_maxNearHcalP5x5);
1660 tree->Branch(
"t_maxNearHcalP7x7",
"vector<double>", &t_maxNearHcalP7x7);
1661 tree->Branch(
"t_h3x3",
"vector<double>", &t_h3x3);
1662 tree->Branch(
"t_h5x5",
"vector<double>", &t_h5x5);
1663 tree->Branch(
"t_h7x7",
"vector<double>", &t_h7x7);
1664 tree->Branch(
"t_h3x3Sig",
"vector<double>", &t_h3x3Sig);
1665 tree->Branch(
"t_h5x5Sig",
"vector<double>", &t_h5x5Sig);
1666 tree->Branch(
"t_h7x7Sig",
"vector<double>", &t_h7x7Sig);
1667 tree->Branch(
"t_infoHcal",
"vector<int>", &t_infoHcal);
1699 double pi = 3.141592654;
1700 double twopi = 6.283185307;
1704 if (diff < pi){
return diff;}
else {
return corr;}
1708 double deta = eta1 - eta2;
1709 double dphi =
DeltaPhi(phi1, phi2);
1710 return std::sqrt(deta*deta + dphi*dphi);
1719 <<
" TrackMmentum " << pTrack->
momentum()
1720 <<
" (pt,eta,phi)(" << pTrack->
pt()<<
","<<pTrack->
eta()<<
","<<pTrack->
phi()<<
")"
1721 <<
" p " << pTrack->
p() <<
"\n"
1724 <<
" d0 " << pTrack->
d0() <<
"\n"
1726 <<
" TrackQuality " << pTrack->
qualityName(trackQuality_) <<
" " << pTrack->
quality(trackQuality_)
1738 std::cout<<
"trackerExpectedHitsInner() " << std::endl;
1742 std::cout<<
"trackerExpectedHitsOuter() " << std::endl;
std::vector< double > * t_hsim7x7CharHad
double qoverp() const
q/p
double DeltaPhi(double v1, double v2)
double p() const
momentum vector magnitude
std::vector< double > * t_hsim3x3Matched
int stripTOBLayersWithMeasurement() const
std::vector< double > * t_esim7x7CharHad
std::vector< double > * t_e15x15
std::vector< double > * t_nTrksJetCalo
T getParameter(std::string const &) const
EventNumber_t event() const
std::vector< double > * t_maxNearHcalP7x7
T getUntrackedParameter(std::string const &, T const &) const
std::vector< double > * t_trackPt
std::vector< double > * t_trackPAll
std::vector< double > * t_e7x7
std::vector< double > * t_trackHcalPhi
std::vector< double > * t_trackDxyPVAll
static std::string qualityName(TrackQuality)
std::vector< int > * t_trackHitOutMeasTEC
std::vector< double > * t_trackPdgIdAll
edm::InputTag JetExtender_
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, std::string &theTrackQuality, bool debug=false)
void eCaloSimInfo(std::vector< DetId > vdets, const CaloGeometry *geo, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, edm::SimTrackContainer::const_iterator trkInfo, caloSimInfo &info, double timeCut=150, bool debug=false)
edm::InputTag L1extraCenJetSource_
std::vector< double > * t_trackOutPosOutHitDr
static const bool useL1GtTriggerMenuLite(false)
const Vector & momentum() const
track momentum vector
std::vector< double > * t_maxNearHcalP5x5
std::vector< double > * t_L1NonIsoEMPt
std::vector< int > * t_trackHitOutMeasTIB
std::vector< double > * t_esim7x7
std::vector< int > * t_trackHitInMissTOB
std::vector< double > * t_trackDz
double d0() const
dxy parameter in perigee convention (d0 = - dxy)
std::map< std::string, double > eHCALSimInfo(const edm::Event &, const HcalTopology *topology, const DetId &det, const CaloGeometry *geo, edm::Handle< T > &hits, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const reco::Track *pTrack, TrackerHitAssociator &associate, int ieta, int iphi, double timeCut=150, bool includeHO=false, bool debug=false)
std::vector< double > * t_trackEcalEta
int stripTIBLayersWithMeasurement() const
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
std::vector< double > * t_trackEtaAll
std::vector< double > * t_esim11x11Matched
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_PVTracksSumPt
std::vector< double > * t_e9x9_10Sig
TH1F * h_maxNearP25x25[NPBins][NEtaBins]
TrackQuality
track quality
std::vector< double > * t_hsim3x3CharHad
#define DEFINE_FWK_MODULE(type)
std::vector< int > * t_PVndof
std::vector< double > * t_hsim7x7Rest
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_PVTracksSumPtWt
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
std::vector< int > * t_infoHcal
std::vector< double > * t_e11x11_15Sig
static const size_t NEtaBins
std::vector< double > * t_L1TauJetPt
std::vector< int > * t_PVNTracksWt
std::vector< double > * t_trackEcalPhi
std::vector< double > * t_esim11x11NeutHad
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_e15x15_15Sig
std::vector< double > * t_L1MuonEta
std::vector< double > * t_L1MuonPt
int pixelLayersWithMeasurement() const
int bunchCrossing() const
std::vector< double > * t_h3x3
edm::LuminosityBlockNumber_t luminosityBlock() const
std::vector< double > * t_L1MuonPhi
double phi() const
azimuthal angle of momentum vector
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
int stripTIDLayersWithoutMeasurement() const
std::vector< double > * t_trackDxyAll
std::vector< double > * t_maxNearHcalP3x3
edm::InputTag L1extraIsoEmSource_
IsolatedTracksNxN(const edm::ParameterSet &)
std::vector< double > * t_hsim3x3Photon
std::vector< double > * t_PVTracksSumPtHP
const math::XYZPoint & outerPosition() const
position of the outermost hit
const Point & referencePoint() const
Reference point on the track.
std::vector< double > * t_esim11x11Rest
int pixelEndcapLayersWithMeasurement() const
edm::InputTag L1GTReadoutRcdSource_
std::vector< int > * t_trackNOuterHits
std::vector< double > * t_h7x7Sig
std::vector< double > * t_e15x15_30Sig
std::vector< double > * t_trackPhiAll
std::vector< double > * t_e7x7_25Sig
std::vector< double > * t_trkHcalEne
edm::InputTag L1extraFwdJetSource_
std::vector< double > * t_e7x7_20Sig
std::vector< double > * t_e11x11_10Sig
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
edm::Service< TFileService > fs
double eHCALmatrix(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, bool algoNew=true, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, bool debug=false)
std::vector< double > * t_esimPdgId
std::vector< double > * t_e11x11_20Sig
std::vector< double > * t_jetEta
std::map< std::pair< unsigned int, std::string >, int > l1AlgoMap
std::vector< double > * t_maxNearP31x31
std::vector< int > * t_trackHitInMissTEC
double chargeIsolationEcal(unsigned int trkIndex, std::vector< spr::propagatedTrackID > &vdetIds, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, bool debug=false)
std::vector< double > * t_trackEta
const HitPattern & trackerExpectedHitsOuter() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers after the last...
const bool decision(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
double eta() const
pseudorapidity of momentum vector
std::vector< double > * t_hsim5x5Rest
std::vector< double > * t_e11x11
std::vector< double > * t_esim15x15
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_trackChiSqAll
edm::InputTag L1extraTauJetSource_
std::vector< double > * t_e15x15_25Sig
std::vector< int > * t_trackHitOutMissTIB
std::vector< double > * t_esim15x15Rest
std::vector< double > * t_esim11x11
std::vector< double > * t_hsim7x7
std::vector< int > * t_PVNTracksHPWt
int stripTIDLayersWithMeasurement() const
int trackerLayersWithMeasurement() const
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
double pt() const
track transverse momentum
edm::InputTag HBHERecHitSource_
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
const MagneticField * bField
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_h7x7
std::vector< int > * t_ecalSpike11x11
std::vector< double > * t_esim15x15NeutHad
int stripTIBLayersWithoutMeasurement() const
std::vector< double > * t_e9x9_20Sig
std::vector< int > * t_trackHitOutMeasTOB
std::vector< int > * t_trackHitInMeasTIB
const HitPattern & trackerExpectedHitsInner() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the fir...
edm::SimTrackContainer::const_iterator matchedSimTrack(const edm::Event &iEvent, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const reco::Track *pTrack, TrackerHitAssociator &associate, bool debug=false)
unsigned short numberOfValidHits() const
number of valid hits found
std::vector< double > * t_trackDzPV
std::vector< int > * t_PVNTracksHP
std::vector< double > * t_L1FwdJetPhi
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
static const bool useL1EventSetup(true)
std::vector< double > * t_nTrksJetVtx
std::vector< double > * t_esim7x7NeutHad
std::vector< double > * t_hsim3x3NeutHad
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_trackDzBS
void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< int > * t_trackHitOutMissTOB
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_trackDzPVAll
std::vector< double > * t_esim7x7Matched
std::vector< double > * t_esim9x9
std::vector< double > * t_hsim5x5
std::vector< double > * t_h5x5
double qoverpError() const
error on signed transverse curvature
std::vector< double > * t_trackDxyPV
std::vector< double > * t_hsim5x5NeutHad
std::vector< double > * t_trackChiSq
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
std::vector< double > * t_hsim5x5Photon
std::vector< double > * t_PVy
std::vector< int > * t_L1PreScale
void getL1GtRunCache(const edm::Run &, const edm::EventSetup &, const bool, const bool, const edm::InputTag &)
get all the run-constant quantities for L1 trigger and cache them
std::vector< double > * t_hsim3x3Rest
edm::InputTag L1extraNonIsoEmSource_
std::vector< int > * t_PVisValid
static TrackQuality qualityByName(const std::string &name)
std::vector< double > * t_L1METPhi
std::vector< double > * t_esim9x9Rest
std::vector< int > * t_trackHitInMissTIB
std::vector< double > * t_e9x9_15Sig
std::vector< double > * t_e7x7_15Sig
std::vector< double > * t_trackPhi
std::vector< double > * t_e7x7_10Sig
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< double > * t_trkEcalEne
std::vector< double > * t_trackDzAll
TH1F * h_maxNearP31x31[NPBins][NEtaBins]
std::vector< double > * t_esim11x11CharHad
int stripLayersWithMeasurement() const
int pixelBarrelLayersWithMeasurement() const
T const * product() const
TH1F * h_maxNearP15x15[NPBins][NEtaBins]
std::vector< double > * t_e9x9_25Sig
void eECALSimInfo(const edm::Event &, const DetId &det, const CaloGeometry *geo, const CaloTopology *caloTopology, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const reco::Track *pTrack, TrackerHitAssociator &associate, int ieta, int iphi, caloSimInfo &info, double timeCut=150, bool debug=false)
std::vector< double > * t_esim7x7Photon
std::vector< double > * t_esim9x9NeutHad
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_simTrackP
std::vector< double > * t_hsim7x7Matched
T const * product() const
std::vector< int > * t_trackPVIdx
bool quality(const TrackQuality) const
Track quality.
std::vector< int > * t_trackHitsTOB
std::vector< double > * t_esim9x9Matched
std::vector< double > * t_hsim7x7NeutHad
std::vector< double > * t_L1IsoEMPhi
std::vector< int > * t_PVNTracks
std::vector< double > * t_maxNearP21x21
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_PVz
std::pair< math::XYZPoint, double > propagateTrackerEnd(const reco::Track *, const MagneticField *, bool debug=false)
void printTrack(const reco::Track *pTrack)
int stripTECLayersWithoutMeasurement() const
std::vector< double > * t_e15x15_20Sig
std::vector< double > * t_PVTracksSumPtHPWt
std::vector< double > * t_trackDxy
std::vector< std::string > * t_L1AlgoNames
std::vector< double > * t_hsim5x5CharHad
std::vector< double > * t_e15x15_10Sig
int stripTECLayersWithMeasurement() const
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
TH1F * h_maxNearP21x21[NPBins][NEtaBins]
T * make() const
make new ROOT object
int stripTOBLayersWithoutMeasurement() const
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
int charge() const
track electric charge
std::vector< double > * t_trackHcalEta
std::vector< double > * t_L1METPt
void printHitPattern(int position, std::ostream &stream) const
edm::InputTag L1extraMuonSource_
std::vector< int > * t_NLayersCrossed
double DeltaR(double eta1, double phi1, double eta2, double phi2)
std::vector< std::pair< DetId, double > > eHCALmatrixCell(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, bool debug=false)
std::vector< int > * t_trackHitInMeasTOB
std::vector< double > * t_PVx
std::vector< int > * t_trackHitInMeasTEC
std::vector< double > * t_esim15x15Photon
std::vector< double > * t_e9x9
std::vector< double > * t_hsim5x5Matched
const L1GtTriggerMenu * ptrL1TriggerMenuEventSetup(int &errorCode)
return a pointer to the L1 trigger menu from event setup
const int prescaleFactor(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
std::vector< double > * t_esim15x15Matched
double chargeIsolationHcal(unsigned int trkIndex, std::vector< spr::propagatedTrackID > &vdetIds, const HcalTopology *topology, int ieta, int iphi, bool debug=false)
std::vector< int > * t_trackHitOutMeasTID
std::vector< double > * t_L1METEta
std::vector< double > * t_e7x7_30Sig
std::vector< int > * t_trackHitOutMissTEC
value_type const * get() const
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
static const size_t NPBins
std::vector< double > * t_hsim7x7Photon
std::vector< double > * t_jetPt
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_esim11x11Photon
edm::InputTag L1GTObjectMapRcdSource_
std::vector< double > * t_h5x5Sig
std::vector< int > * t_trackHitInMissTID
std::vector< double > * t_e11x11_30Sig
std::vector< int > * t_trackHitInMissTIBTID
std::vector< double > * t_esim9x9CharHad
double eECALmatrix(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
std::vector< double > * t_esim15x15CharHad