#include <IsolatedTracksHcalScale.h>
Public Member Functions | |
IsolatedTracksHcalScale (const edm::ParameterSet &) | |
~IsolatedTracksHcalScale () | |
Private Member Functions | |
void | analyze (const edm::Event &, const edm::EventSetup &) |
void | beginJob () |
void | clearTreeVectors () |
void | endJob () |
Private Attributes | |
double | a_charIsoR |
double | a_coneR |
double | a_mipR |
double | a_neutIsoR |
const MagneticField * | bField |
bool | doMC |
edm::Service< TFileService > | fs |
double | genPartEtaBins [4] |
bool | initL1 |
std::string | minQuality |
int | myverbose |
int | nEventProc |
spr::trackSelectionParameters | selectionParameters |
int | t_Bunch |
std::vector< double > * | t_conehmaxNearP |
std::vector< double > * | t_e11x11_20Sig |
std::vector< double > * | t_e15x15_20Sig |
std::vector< double > * | t_eECALDR |
std::vector< double > * | t_eECALDR_1 |
std::vector< double > * | t_eECALDR_2 |
std::vector< double > * | t_eHCALDR |
std::vector< double > * | t_eHCALDRHB |
std::vector< double > * | t_eMipDR |
std::vector< double > * | t_eMipDR_1 |
std::vector< double > * | t_eMipDR_2 |
int | t_EvtNo |
std::vector< double > * | t_hCone |
std::vector< double > * | t_hConeHB |
std::vector< double > * | t_hsim |
std::vector< double > * | t_hsimInfoCharHad |
std::vector< double > * | t_hsimInfoMatched |
std::vector< int > * | t_hsimInfoNCharHad |
std::vector< double > * | t_hsimInfoNeutHad |
std::vector< int > * | t_hsimInfoNMatched |
std::vector< int > * | t_hsimInfoNNeutHad |
std::vector< int > * | t_hsimInfoNPhoton |
std::vector< int > * | t_hsimInfoNRest |
std::vector< int > * | t_hsimInfoNTotal |
std::vector< double > * | t_hsimInfoPdgMatched |
std::vector< double > * | t_hsimInfoPhoton |
std::vector< double > * | t_hsimInfoRest |
std::vector< double > * | t_hsimInfoTotal |
int | t_Lumi |
std::vector< int > * | t_nSimHits |
int | t_nTracks |
int | t_RunNo |
std::vector< double > * | t_trackEta |
std::vector< double > * | t_trackHcalEta |
std::vector< double > * | t_trackHcalPhi |
std::vector< double > * | t_trackP |
std::vector< double > * | t_trackPhi |
std::vector< double > * | t_trackPt |
std::string | theTrackQuality |
double | tMaxE_ |
double | tMinE_ |
TTree * | tree |
Static Private Attributes | |
static const size_t | NEtaBins = 3 |
Definition at line 112 of file IsolatedTracksHcalScale.h.
IsolatedTracksHcalScale::IsolatedTracksHcalScale | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 17 of file IsolatedTracksHcalScale.cc.
References a_charIsoR, a_coneR, a_mipR, a_neutIsoR, gather_cfg::cout, doMC, edm::ParameterSet::getUntrackedParameter(), initL1, spr::trackSelectionParameters::maxChi2, spr::trackSelectionParameters::maxDpOverP, spr::trackSelectionParameters::maxDxyPV, spr::trackSelectionParameters::maxDzPV, spr::trackSelectionParameters::maxInMiss, spr::trackSelectionParameters::maxOutMiss, spr::trackSelectionParameters::minLayerCrossed, spr::trackSelectionParameters::minOuterHit, spr::trackSelectionParameters::minPt, spr::trackSelectionParameters::minQuality, myverbose, reco::TrackBase::qualityByName(), selectionParameters, AlCaHLTBitMon_QueryRunRegistry::string, theTrackQuality, tMaxE_, and tMinE_.
{ //now do what ever initialization is needed doMC = iConfig.getUntrackedParameter<bool>("DoMC", false); myverbose = iConfig.getUntrackedParameter<int>("Verbosity", 5 ); theTrackQuality = iConfig.getUntrackedParameter<std::string>("TrackQuality","highPurity"); reco::TrackBase::TrackQuality trackQuality_=reco::TrackBase::qualityByName(theTrackQuality); selectionParameters.minPt = iConfig.getUntrackedParameter<double>("MinTrackPt", 10.0); selectionParameters.minQuality = trackQuality_; selectionParameters.maxDxyPV = iConfig.getUntrackedParameter<double>("MaxDxyPV", 0.2); selectionParameters.maxDzPV = iConfig.getUntrackedParameter<double>("MaxDzPV", 5.0); selectionParameters.maxChi2 = iConfig.getUntrackedParameter<double>("MaxChi2", 5.0); selectionParameters.maxDpOverP = iConfig.getUntrackedParameter<double>("MaxDpOverP", 0.1); selectionParameters.minOuterHit = iConfig.getUntrackedParameter<int>("MinOuterHit", 4); selectionParameters.minLayerCrossed = iConfig.getUntrackedParameter<int>("MinLayerCrossed", 8); selectionParameters.maxInMiss = iConfig.getUntrackedParameter<int>("MaxInMiss", 0); selectionParameters.maxOutMiss = iConfig.getUntrackedParameter<int>("MaxOutMiss", 0); a_coneR = iConfig.getUntrackedParameter<double>("ConeRadius",34.98); a_charIsoR = a_coneR + 28.9; a_neutIsoR = a_charIsoR*0.726; a_mipR = iConfig.getUntrackedParameter<double>("ConeRadiusMIP",14.0); tMinE_ = iConfig.getUntrackedParameter<double>("TimeMinCutECAL", -500.); tMaxE_ = iConfig.getUntrackedParameter<double>("TimeMaxCutECAL", 500.); if (myverbose>=0) { std::cout <<"Parameters read from config file \n" <<" doMC " << doMC <<"\t myverbose " << myverbose <<"\t minPt " << selectionParameters.minPt <<"\t theTrackQuality " << theTrackQuality <<"\t minQuality " << selectionParameters.minQuality <<"\t maxDxyPV " << selectionParameters.maxDxyPV <<"\t maxDzPV " << selectionParameters.maxDzPV <<"\t maxChi2 " << selectionParameters.maxChi2 <<"\t maxDpOverP " << selectionParameters.maxDpOverP <<"\t minOuterHit " << selectionParameters.minOuterHit <<"\t minLayerCrossed " << selectionParameters.minLayerCrossed <<"\t maxInMiss " << selectionParameters.maxInMiss <<"\t maxOutMiss " << selectionParameters.maxOutMiss <<"\t a_coneR " << a_coneR <<"\t a_charIsoR " << a_charIsoR <<"\t a_neutIsoR " << a_neutIsoR <<"\t a_mipR " << a_mipR <<"\t time Range (" << tMinE_ << ":" << tMaxE_ << ")" << std::endl; } initL1 = false; }
IsolatedTracksHcalScale::~IsolatedTracksHcalScale | ( | ) |
Definition at line 67 of file IsolatedTracksHcalScale.cc.
{}
void IsolatedTracksHcalScale::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 69 of file IsolatedTracksHcalScale.cc.
References a_charIsoR, a_coneR, a_mipR, a_neutIsoR, bField, edm::EventBase::bunchCrossing(), spr::chargeIsolationCone(), clearTreeVectors(), gather_cfg::cout, doMC, spr::eCone_ecal(), spr::eCone_hcal(), spr::eECALmatrix(), edm::EventID::event(), edm::EventSetup::get(), edm::Event::getByLabel(), spr::goodTrack(), HcalBarrel, edm::EventBase::id(), HcalDetId::ieta(), HcalDetId::iphi(), edm::HandleBase::isValid(), edm::EventBase::luminosityBlock(), reco::TrackBase::momentum(), myverbose, nEventProc, reco::TrackBase::p(), edm::ESHandle< T >::product(), edm::Handle< T >::product(), spr::propagateCALO(), reco::TrackBase::pt(), edm::EventID::run(), selectionParameters, t_Bunch, t_conehmaxNearP, t_e11x11_20Sig, t_e15x15_20Sig, t_eECALDR, t_eECALDR_1, t_eECALDR_2, t_eHCALDR, t_eHCALDRHB, t_eMipDR, t_eMipDR_1, t_eMipDR_2, t_EvtNo, t_hCone, t_hConeHB, t_hsim, t_hsimInfoCharHad, t_hsimInfoMatched, t_hsimInfoNCharHad, t_hsimInfoNeutHad, t_hsimInfoNMatched, t_hsimInfoNNeutHad, t_hsimInfoNPhoton, t_hsimInfoNRest, t_hsimInfoNTotal, t_hsimInfoPdgMatched, t_hsimInfoPhoton, t_hsimInfoRest, t_hsimInfoTotal, t_Lumi, t_nSimHits, t_RunNo, t_trackEta, t_trackHcalEta, t_trackHcalPhi, t_trackP, t_trackPhi, t_trackPt, theTrackQuality, tMaxE_, tMinE_, tree, x, detailsBasic3DVector::y, and z.
{ edm::ESHandle<MagneticField> bFieldH; iSetup.get<IdealMagneticFieldRecord>().get(bFieldH); bField = bFieldH.product(); // get handles to calogeometry and calotopology edm::ESHandle<CaloGeometry> pG; iSetup.get<CaloGeometryRecord>().get(pG); const CaloGeometry* geo = pG.product(); edm::ESHandle<CaloTopology> theCaloTopology; iSetup.get<CaloTopologyRecord>().get(theCaloTopology); const CaloTopology *caloTopology = theCaloTopology.product(); /* edm::ESHandle<HcalTopology> htopo; iSetup.get<IdealGeometryRecord>().get(htopo); const HcalTopology* theHBHETopology = htopo.product(); */ // Retrieve the good/bad ECAL channels from the DB edm::ESHandle<EcalChannelStatus> ecalChStatus; iSetup.get<EcalChannelStatusRcd>().get(ecalChStatus); const EcalChannelStatus* theEcalChStatus = ecalChStatus.product(); /* // Retrieve trigger tower map edm::ESHandle<EcalTrigTowerConstituentsMap> hTtmap; iSetup.get<IdealGeometryRecord>().get(hTtmap); const EcalTrigTowerConstituentsMap& ttMap = *hTtmap; */ clearTreeVectors(); nEventProc++; t_RunNo = iEvent.id().run(); t_EvtNo = iEvent.id().event(); t_Lumi = iEvent.luminosityBlock(); t_Bunch = iEvent.bunchCrossing(); if (myverbose>0) std::cout << nEventProc << " Run " << t_RunNo << " Event " << t_EvtNo << " Lumi " << t_Lumi << " Bunch " << t_Bunch << std::endl; edm::Handle<reco::TrackCollection> trkCollection; iEvent.getByLabel("generalTracks", trkCollection); edm::Handle<reco::VertexCollection> recVtxs; iEvent.getByLabel("offlinePrimaryVertices",recVtxs); // Get the beamspot edm::Handle<reco::BeamSpot> beamSpotH; iEvent.getByLabel("offlineBeamSpot", beamSpotH); math::XYZPoint leadPV(0,0,0); if (recVtxs->size()>0 && !((*recVtxs)[0].isFake())) { leadPV = math::XYZPoint( (*recVtxs)[0].x(),(*recVtxs)[0].y(), (*recVtxs)[0].z() ); } else if (beamSpotH.isValid()) { leadPV = beamSpotH->position(); } if (myverbose>0) { std::cout << "Primary Vertex " << leadPV; if (beamSpotH.isValid()) std::cout << " Beam Spot " << beamSpotH->position(); std::cout << std::endl; } std::vector<spr::propagatedTrackDirection> trkCaloDirections; spr::propagateCALO(trkCollection, geo, bField, theTrackQuality, trkCaloDirections, (myverbose>2)); std::vector<spr::propagatedTrackDirection>::const_iterator trkDetItr; edm::Handle<EcalRecHitCollection> barrelRecHitsHandle; edm::Handle<EcalRecHitCollection> endcapRecHitsHandle; iEvent.getByLabel("ecalRecHit","EcalRecHitsEB",barrelRecHitsHandle); iEvent.getByLabel("ecalRecHit","EcalRecHitsEE",endcapRecHitsHandle); edm::Handle<HBHERecHitCollection> hbhe; iEvent.getByLabel("hbhereco",hbhe); const HBHERecHitCollection Hithbhe = *(hbhe.product()); //get Handles to SimTracks and SimHits edm::Handle<edm::SimTrackContainer> SimTk; edm::SimTrackContainer::const_iterator simTrkItr; edm::Handle<edm::SimVertexContainer> SimVtx; edm::SimVertexContainer::const_iterator vtxItr = SimVtx->begin(); //get Handles to PCaloHitContainers of eb/ee/hbhe edm::Handle<edm::PCaloHitContainer> pcaloeb; edm::Handle<edm::PCaloHitContainer> pcaloee; edm::Handle<edm::PCaloHitContainer> pcalohh; //associates tracker rechits/simhits to a track TrackerHitAssociator* associate=0; if (doMC) { iEvent.getByLabel("g4SimHits",SimTk); iEvent.getByLabel("g4SimHits",SimVtx); iEvent.getByLabel("g4SimHits", "EcalHitsEB", pcaloeb); iEvent.getByLabel("g4SimHits", "EcalHitsEE", pcaloee); iEvent.getByLabel("g4SimHits", "HcalHits", pcalohh); associate = new TrackerHitAssociator(iEvent); } unsigned int nTracks=0; for (trkDetItr = trkCaloDirections.begin(),nTracks=0; trkDetItr != trkCaloDirections.end(); trkDetItr++,nTracks++){ const reco::Track* pTrack = &(*(trkDetItr->trkItr)); if (spr::goodTrack(pTrack,leadPV,selectionParameters,(myverbose>2)) && trkDetItr->okECAL && trkDetItr->okHCAL) { int nRH_eMipDR=0, nRH_eDR=0, nNearTRKs=0, nRecHitsCone=-99; double distFromHotCell=-99.0, distFromHotCell2=-99.0; int ietaHotCell=-99, iphiHotCell=-99; int ietaHotCell2=-99, iphiHotCell2=-99; GlobalPoint gposHotCell(0.,0.,0.), gposHotCell2(0.,0.,0.); std::vector<DetId> coneRecHitDetIds, coneRecHitDetIds2; std::pair<double, bool> e11x11_20SigP, e15x15_20SigP; double hCone = spr::eCone_hcal(geo, hbhe, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_coneR, trkDetItr->directionHCAL, nRecHitsCone, coneRecHitDetIds, distFromHotCell, ietaHotCell, iphiHotCell, gposHotCell, -1); double hConeHB = spr::eCone_hcal(geo, hbhe, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_coneR, trkDetItr->directionHCAL, nRecHitsCone, coneRecHitDetIds, distFromHotCell, ietaHotCell, iphiHotCell, gposHotCell, (int)(HcalBarrel)); double eHCALDR = spr::eCone_hcal(geo, hbhe, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_charIsoR, trkDetItr->directionHCAL, nRecHitsCone, coneRecHitDetIds2, distFromHotCell2, ietaHotCell2, iphiHotCell2, gposHotCell2, -1); double eHCALDRHB = spr::eCone_hcal(geo, hbhe, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_charIsoR, trkDetItr->directionHCAL, nRecHitsCone, coneRecHitDetIds2, distFromHotCell2, ietaHotCell2, iphiHotCell2, gposHotCell2, (int)(HcalBarrel)); double conehmaxNearP = spr::chargeIsolationCone(nTracks, trkCaloDirections, a_charIsoR, nNearTRKs, (myverbose>3)); double eMipDR = spr::eCone_ecal(geo, barrelRecHitsHandle, endcapRecHitsHandle,trkDetItr->pointHCAL, trkDetItr->pointECAL, a_mipR, trkDetItr->directionECAL, nRH_eMipDR); double eECALDR = spr::eCone_ecal(geo, barrelRecHitsHandle, endcapRecHitsHandle,trkDetItr->pointHCAL, trkDetItr->pointECAL, a_neutIsoR, trkDetItr->directionECAL, nRH_eDR); double eMipDR_1= spr::eCone_ecal(geo, barrelRecHitsHandle, endcapRecHitsHandle,trkDetItr->pointHCAL, trkDetItr->pointECAL, a_mipR, trkDetItr->directionECAL, nRH_eMipDR, 0.030, 0.150); double eECALDR_1=spr::eCone_ecal(geo, barrelRecHitsHandle, endcapRecHitsHandle,trkDetItr->pointHCAL, trkDetItr->pointECAL, a_neutIsoR, trkDetItr->directionECAL, nRH_eDR, 0.030, 0.150); double eMipDR_2= spr::eCone_ecal(geo, barrelRecHitsHandle, endcapRecHitsHandle,trkDetItr->pointHCAL, trkDetItr->pointECAL, a_mipR, trkDetItr->directionECAL, nRH_eMipDR, 0.060, 0.300); double eECALDR_2=spr::eCone_ecal(geo, barrelRecHitsHandle, endcapRecHitsHandle,trkDetItr->pointHCAL, trkDetItr->pointECAL, a_neutIsoR, trkDetItr->directionECAL, nRH_eDR, 0.060, 0.300); HcalDetId closestCell = (HcalDetId)(trkDetItr->detIdHCAL); edm::ESHandle<EcalSeverityLevelAlgo> sevlv; iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv); e11x11_20SigP = spr::eECALmatrix(trkDetItr->detIdECAL,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.060, 0.300, tMinE_,tMaxE_); e15x15_20SigP = spr::eECALmatrix(trkDetItr->detIdECAL,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.060, 0.300, tMinE_,tMaxE_); // Fill the tree Branches here t_trackP ->push_back( pTrack->p() ); t_trackPt ->push_back( pTrack->pt() ); t_trackEta ->push_back( pTrack->momentum().eta() ); t_trackPhi ->push_back( pTrack->momentum().phi() ); t_trackHcalEta ->push_back( closestCell.ieta() ); t_trackHcalPhi ->push_back( closestCell.iphi() ); t_hCone ->push_back( hCone); t_conehmaxNearP ->push_back( conehmaxNearP); t_eMipDR ->push_back( eMipDR); t_eECALDR ->push_back( eECALDR); t_eHCALDR ->push_back( eHCALDR); t_e11x11_20Sig ->push_back( e11x11_20SigP.first ); t_e15x15_20Sig ->push_back( e15x15_20SigP.first ); t_eMipDR_1 ->push_back( eMipDR_1); t_eECALDR_1 ->push_back( eECALDR_1); t_eMipDR_2 ->push_back( eMipDR_2); t_eECALDR_2 ->push_back( eECALDR_2); t_hConeHB ->push_back( hConeHB); t_eHCALDRHB ->push_back( eHCALDRHB); if (myverbose > 0) { std::cout << "Track p " << pTrack->p() << " pt " << pTrack->pt() << " eta " << pTrack->momentum().eta() << " phi " << pTrack->momentum().phi() << " ieta/iphi (" << closestCell.ieta() << ", " << closestCell.iphi() << ") Energy in cone " << hCone << " Charge Isolation " << conehmaxNearP << " eMIP (" << eMipDR << ", " << eMipDR_1 << ", " << eMipDR_2 << ")" << " Neutral isolation (ECAL) (" << eECALDR-eMipDR << ", " << eECALDR_1-eMipDR_1 << ", " << eECALDR_2-eMipDR_2 << ")" << " (ECAL NxN) " << e15x15_20SigP.first-e11x11_20SigP.first << " (HCAL) " << eHCALDR-hCone << std::endl; } if (doMC) { int nSimHits = -999; double hsim; std::map<std::string, double> hsimInfo; std::vector<int> multiplicity; hsim = spr::eCone_hcal(geo, pcalohh, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_coneR, trkDetItr->directionHCAL, nSimHits); hsimInfo = spr::eHCALSimInfoCone(iEvent, pcalohh, SimTk, SimVtx, pTrack, *associate, geo, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_coneR, trkDetItr->directionHCAL, multiplicity); t_hsimInfoMatched ->push_back(hsimInfo["eMatched" ]); t_hsimInfoRest ->push_back(hsimInfo["eRest" ]); t_hsimInfoPhoton ->push_back(hsimInfo["eGamma" ]); t_hsimInfoNeutHad ->push_back(hsimInfo["eNeutralHad"]); t_hsimInfoCharHad ->push_back(hsimInfo["eChargedHad"]); t_hsimInfoPdgMatched->push_back(hsimInfo["pdgMatched" ]); t_hsimInfoTotal ->push_back(hsimInfo["eTotal" ]); t_hsimInfoNMatched ->push_back(multiplicity.at(0)); t_hsimInfoNTotal ->push_back(multiplicity.at(1)); t_hsimInfoNNeutHad ->push_back(multiplicity.at(2)); t_hsimInfoNCharHad ->push_back(multiplicity.at(3)); t_hsimInfoNPhoton ->push_back(multiplicity.at(4)); t_hsimInfoNRest ->push_back(multiplicity.at(5)); t_hsim ->push_back(hsim ); t_nSimHits ->push_back(nSimHits ); if (myverbose > 0) { std::cout << "Matched (E) " << hsimInfo["eMatched"] << " (N) " << multiplicity.at(0) << " Rest (E) " << hsimInfo["eRest"] << " (N) " << multiplicity.at(1) << " Gamma (E) " << hsimInfo["eGamma"] << " (N) " << multiplicity.at(2) << " Neutral Had (E) " << hsimInfo["eNeutralHad"] << " (N) " << multiplicity.at(3) << " Charged Had (E) " << hsimInfo["eChargedHad"] << " (N) " << multiplicity.at(4) << " Total (E) " << hsimInfo["eTotal"] << " (N) " << multiplicity.at(5) << " PDG " << hsimInfo["pdgMatched"] << " Total E " << hsim << " NHit " << nSimHits <<std::endl; } } } } // delete associate; if (associate) delete associate; tree->Fill(); }
void IsolatedTracksHcalScale::beginJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 336 of file IsolatedTracksHcalScale.cc.
References doMC, fs, nEventProc, t_Bunch, t_conehmaxNearP, t_e11x11_20Sig, t_e15x15_20Sig, t_eECALDR, t_eECALDR_1, t_eECALDR_2, t_eHCALDR, t_eHCALDRHB, t_eMipDR, t_eMipDR_1, t_eMipDR_2, t_hCone, t_hConeHB, t_hsim, t_hsimInfoCharHad, t_hsimInfoMatched, t_hsimInfoNCharHad, t_hsimInfoNeutHad, t_hsimInfoNMatched, t_hsimInfoNNeutHad, t_hsimInfoNPhoton, t_hsimInfoNRest, t_hsimInfoNTotal, t_hsimInfoPdgMatched, t_hsimInfoPhoton, t_hsimInfoRest, t_hsimInfoTotal, t_Lumi, t_nSimHits, t_RunNo, t_trackEta, t_trackHcalEta, t_trackHcalPhi, t_trackP, t_trackPhi, t_trackPt, and tree.
{ nEventProc=0; tree = fs->make<TTree>("tree", "tree"); tree->SetAutoSave(10000); tree->Branch("t_RunNo" ,&t_RunNo ,"t_RunNo/I"); tree->Branch("t_Lumi" ,&t_Lumi ,"t_Lumi/I"); tree->Branch("t_Bunch" ,&t_Bunch ,"t_Bunch/I"); t_trackP = new std::vector<double>(); t_trackPt = new std::vector<double>(); t_trackEta = new std::vector<double>(); t_trackPhi = new std::vector<double>(); t_trackHcalEta = new std::vector<double>(); t_trackHcalPhi = new std::vector<double>(); t_hCone = new std::vector<double>(); t_conehmaxNearP = new std::vector<double>(); t_eMipDR = new std::vector<double>(); t_eECALDR = new std::vector<double>(); t_eHCALDR = new std::vector<double>(); t_e11x11_20Sig = new std::vector<double>(); t_e15x15_20Sig = new std::vector<double>(); t_eMipDR_1 = new std::vector<double>(); t_eECALDR_1 = new std::vector<double>(); t_eMipDR_2 = new std::vector<double>(); t_eECALDR_2 = new std::vector<double>(); t_hConeHB = new std::vector<double>(); t_eHCALDRHB = new std::vector<double>(); tree->Branch("t_trackP", "vector<double>", &t_trackP ); tree->Branch("t_trackPt", "vector<double>", &t_trackPt ); tree->Branch("t_trackEta", "vector<double>", &t_trackEta ); tree->Branch("t_trackPhi", "vector<double>", &t_trackPhi ); tree->Branch("t_trackHcalEta", "vector<double>", &t_trackHcalEta ); tree->Branch("t_trackHcalPhi", "vector<double>", &t_trackHcalPhi ); tree->Branch("t_hCone", "vector<double>", &t_hCone ); tree->Branch("t_conehmaxNearP", "vector<double>", &t_conehmaxNearP ); tree->Branch("t_eMipDR", "vector<double>", &t_eMipDR ); tree->Branch("t_eECALDR", "vector<double>", &t_eECALDR ); tree->Branch("t_eHCALDR", "vector<double>", &t_eHCALDR ); tree->Branch("t_e11x11_20Sig", "vector<double>", &t_e11x11_20Sig ); tree->Branch("t_e15x15_20Sig", "vector<double>", &t_e15x15_20Sig ); tree->Branch("t_eMipDR_1", "vector<double>", &t_eMipDR_1 ); tree->Branch("t_eECALDR_1", "vector<double>", &t_eECALDR_1 ); tree->Branch("t_eMipDR_2", "vector<double>", &t_eMipDR_2 ); tree->Branch("t_eECALDR_2", "vector<double>", &t_eECALDR_2 ); tree->Branch("t_hConeHB", "vector<double>", &t_hConeHB ); tree->Branch("t_eHCALDRHB", "vector<double>", &t_eHCALDRHB ); if (doMC) { t_hsimInfoMatched = new std::vector<double>(); t_hsimInfoRest = new std::vector<double>(); t_hsimInfoPhoton = new std::vector<double>(); t_hsimInfoNeutHad = new std::vector<double>(); t_hsimInfoCharHad = new std::vector<double>(); t_hsimInfoPdgMatched = new std::vector<double>(); t_hsimInfoTotal = new std::vector<double>(); t_hsimInfoNMatched = new std::vector<int>(); t_hsimInfoNTotal = new std::vector<int>(); t_hsimInfoNNeutHad = new std::vector<int>(); t_hsimInfoNCharHad = new std::vector<int>(); t_hsimInfoNPhoton = new std::vector<int>(); t_hsimInfoNRest = new std::vector<int>(); t_hsim = new std::vector<double>(); t_nSimHits = new std::vector<int>(); tree->Branch("t_hsimInfoMatched", "vector<double>", &t_hsimInfoMatched ); tree->Branch("t_hsimInfoRest", "vector<double>", &t_hsimInfoRest ); tree->Branch("t_hsimInfoPhoton", "vector<double>", &t_hsimInfoPhoton ); tree->Branch("t_hsimInfoNeutHad", "vector<double>", &t_hsimInfoNeutHad ); tree->Branch("t_hsimInfoCharHad", "vector<double>", &t_hsimInfoCharHad ); tree->Branch("t_hsimInfoPdgMatched", "vector<double>", &t_hsimInfoPdgMatched ); tree->Branch("t_hsimInfoTotal", "vector<double>", &t_hsimInfoTotal ); tree->Branch("t_hsimInfoNMatched", "vector<int>", &t_hsimInfoNMatched ); tree->Branch("t_hsimInfoNTotal", "vector<int>", &t_hsimInfoNTotal ); tree->Branch("t_hsimInfoNNeutHad", "vector<int>", &t_hsimInfoNNeutHad ); tree->Branch("t_hsimInfoNCharHad", "vector<int>", &t_hsimInfoNCharHad ); tree->Branch("t_hsimInfoNPhoton", "vector<int>", &t_hsimInfoNPhoton ); tree->Branch("t_hsimInfoNRest", "vector<int>", &t_hsimInfoNRest ); tree->Branch("t_hsim", "vector<double>", &t_hsim ); tree->Branch("t_nSimHits", "vector<int>", &t_nSimHits ); } }
void IsolatedTracksHcalScale::clearTreeVectors | ( | ) | [private] |
Definition at line 429 of file IsolatedTracksHcalScale.cc.
References doMC, t_conehmaxNearP, t_e11x11_20Sig, t_e15x15_20Sig, t_eECALDR, t_eECALDR_1, t_eECALDR_2, t_eHCALDR, t_eHCALDRHB, t_eMipDR, t_eMipDR_1, t_eMipDR_2, t_hCone, t_hConeHB, t_hsim, t_hsimInfoCharHad, t_hsimInfoMatched, t_hsimInfoNCharHad, t_hsimInfoNeutHad, t_hsimInfoNMatched, t_hsimInfoNNeutHad, t_hsimInfoNPhoton, t_hsimInfoNRest, t_hsimInfoNTotal, t_hsimInfoPdgMatched, t_hsimInfoPhoton, t_hsimInfoRest, t_hsimInfoTotal, t_nSimHits, t_trackEta, t_trackHcalEta, t_trackHcalPhi, t_trackP, t_trackPhi, and t_trackPt.
Referenced by analyze().
{ t_trackP ->clear(); t_trackPt ->clear(); t_trackEta ->clear(); t_trackPhi ->clear(); t_trackHcalEta ->clear(); t_trackHcalPhi ->clear(); t_hCone ->clear(); t_conehmaxNearP ->clear(); t_eMipDR ->clear(); t_eECALDR ->clear(); t_eHCALDR ->clear(); t_e11x11_20Sig ->clear(); t_e15x15_20Sig ->clear(); t_eMipDR_1 ->clear(); t_eECALDR_1 ->clear(); t_eMipDR_2 ->clear(); t_eECALDR_2 ->clear(); t_hConeHB ->clear(); t_eHCALDRHB ->clear(); if (doMC) { t_hsimInfoMatched ->clear(); t_hsimInfoRest ->clear(); t_hsimInfoPhoton ->clear(); t_hsimInfoNeutHad ->clear(); t_hsimInfoCharHad ->clear(); t_hsimInfoPdgMatched ->clear(); t_hsimInfoTotal ->clear(); t_hsimInfoNMatched ->clear(); t_hsimInfoNTotal ->clear(); t_hsimInfoNNeutHad ->clear(); t_hsimInfoNCharHad ->clear(); t_hsimInfoNPhoton ->clear(); t_hsimInfoNRest ->clear(); t_hsim ->clear(); t_nSimHits ->clear(); } }
void IsolatedTracksHcalScale::endJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 424 of file IsolatedTracksHcalScale.cc.
References gather_cfg::cout, and nEventProc.
{ std::cout << "Number of Events Processed " << nEventProc << std::endl; }
double IsolatedTracksHcalScale::a_charIsoR [private] |
Definition at line 132 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
double IsolatedTracksHcalScale::a_coneR [private] |
Definition at line 132 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
double IsolatedTracksHcalScale::a_mipR [private] |
Definition at line 132 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
double IsolatedTracksHcalScale::a_neutIsoR [private] |
Definition at line 132 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
const MagneticField* IsolatedTracksHcalScale::bField [private] |
Definition at line 155 of file IsolatedTracksHcalScale.h.
Referenced by analyze().
bool IsolatedTracksHcalScale::doMC [private] |
Definition at line 128 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), clearTreeVectors(), and IsolatedTracksHcalScale().
edm::Service<TFileService> IsolatedTracksHcalScale::fs [private] |
Definition at line 176 of file IsolatedTracksHcalScale.h.
Referenced by beginJob().
double IsolatedTracksHcalScale::genPartEtaBins[4] [private] |
Definition at line 157 of file IsolatedTracksHcalScale.h.
bool IsolatedTracksHcalScale::initL1 [private] |
Definition at line 128 of file IsolatedTracksHcalScale.h.
Referenced by IsolatedTracksHcalScale().
std::string IsolatedTracksHcalScale::minQuality [private] |
Definition at line 130 of file IsolatedTracksHcalScale.h.
int IsolatedTracksHcalScale::myverbose [private] |
Definition at line 129 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
const size_t IsolatedTracksHcalScale::NEtaBins = 3 [static, private] |
Definition at line 159 of file IsolatedTracksHcalScale.h.
int IsolatedTracksHcalScale::nEventProc [private] |
Definition at line 149 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and endJob().
Definition at line 131 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
int IsolatedTracksHcalScale::t_Bunch [private] |
Definition at line 163 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and beginJob().
std::vector<double> * IsolatedTracksHcalScale::t_conehmaxNearP [private] |
Definition at line 166 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_e11x11_20Sig [private] |
Definition at line 167 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_e15x15_20Sig [private] |
Definition at line 167 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eECALDR [private] |
Definition at line 166 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eECALDR_1 [private] |
Definition at line 168 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eECALDR_2 [private] |
Definition at line 168 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eHCALDR [private] |
Definition at line 165 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eHCALDRHB [private] |
Definition at line 169 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eMipDR [private] |
Definition at line 166 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_eMipDR_1 [private] |
Definition at line 168 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_eMipDR_2 [private] |
Definition at line 168 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
int IsolatedTracksHcalScale::t_EvtNo [private] |
Definition at line 163 of file IsolatedTracksHcalScale.h.
Referenced by analyze().
std::vector<double>* IsolatedTracksHcalScale::t_hCone [private] |
Definition at line 166 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_hConeHB [private] |
Definition at line 169 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_hsim [private] |
Definition at line 172 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_hsimInfoCharHad [private] |
Definition at line 171 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_hsimInfoMatched [private] |
Definition at line 170 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<int>* IsolatedTracksHcalScale::t_hsimInfoNCharHad [private] |
Definition at line 174 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_hsimInfoNeutHad [private] |
Definition at line 171 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<int>* IsolatedTracksHcalScale::t_hsimInfoNMatched [private] |
Definition at line 173 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<int> * IsolatedTracksHcalScale::t_hsimInfoNNeutHad [private] |
Definition at line 173 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<int> * IsolatedTracksHcalScale::t_hsimInfoNPhoton [private] |
Definition at line 174 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<int> * IsolatedTracksHcalScale::t_hsimInfoNRest [private] |
Definition at line 174 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<int> * IsolatedTracksHcalScale::t_hsimInfoNTotal [private] |
Definition at line 173 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_hsimInfoPdgMatched [private] |
Definition at line 171 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_hsimInfoPhoton [private] |
Definition at line 170 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_hsimInfoRest [private] |
Definition at line 170 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_hsimInfoTotal [private] |
Definition at line 172 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
int IsolatedTracksHcalScale::t_Lumi [private] |
Definition at line 163 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and beginJob().
std::vector<int>* IsolatedTracksHcalScale::t_nSimHits [private] |
Definition at line 175 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
int IsolatedTracksHcalScale::t_nTracks [private] |
Definition at line 163 of file IsolatedTracksHcalScale.h.
int IsolatedTracksHcalScale::t_RunNo [private] |
Definition at line 163 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and beginJob().
std::vector<double> * IsolatedTracksHcalScale::t_trackEta [private] |
Definition at line 164 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_trackHcalEta [private] |
Definition at line 165 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_trackHcalPhi [private] |
Definition at line 165 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double>* IsolatedTracksHcalScale::t_trackP [private] |
Definition at line 164 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_trackPhi [private] |
Definition at line 164 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::vector<double> * IsolatedTracksHcalScale::t_trackPt [private] |
Definition at line 164 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), beginJob(), and clearTreeVectors().
std::string IsolatedTracksHcalScale::theTrackQuality [private] |
Definition at line 130 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
double IsolatedTracksHcalScale::tMaxE_ [private] |
Definition at line 133 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
double IsolatedTracksHcalScale::tMinE_ [private] |
Definition at line 133 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and IsolatedTracksHcalScale().
TTree* IsolatedTracksHcalScale::tree [private] |
Definition at line 161 of file IsolatedTracksHcalScale.h.
Referenced by analyze(), and beginJob().