#include <AnalysisRootpleProducer.h>
Definition at line 40 of file AnalysisRootpleProducer.h.
AnalysisRootpleProducer::AnalysisRootpleProducer | ( | const edm::ParameterSet & | pset | ) | [explicit] |
Definition at line 102 of file AnalysisRootpleProducer.cc.
References edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().
{ // flag to ignore gen-level analysis onlyRECO = pset.getUntrackedParameter<bool>("OnlyRECO",false); // particle, track and jet collections mcEvent = pset.getUntrackedParameter<InputTag>("MCEvent",std::string("")); genJetCollName = pset.getUntrackedParameter<InputTag>("GenJetCollectionName",std::string("")); chgJetCollName = pset.getUntrackedParameter<InputTag>("ChgGenJetCollectionName",std::string("")); tracksJetCollName = pset.getUntrackedParameter<InputTag>("TracksJetCollectionName",std::string("")); recoCaloJetCollName = pset.getUntrackedParameter<InputTag>("RecoCaloJetCollectionName",std::string("")); chgGenPartCollName = pset.getUntrackedParameter<InputTag>("ChgGenPartCollectionName",std::string("")); tracksCollName = pset.getUntrackedParameter<InputTag>("TracksCollectionName",std::string("")); // trigger results triggerResultsTag = pset.getParameter<InputTag>("triggerResults"); // hltFilterTag = pset.getParameter<InputTag>("hltFilter"); // triggerName = pset.getParameter<InputTag>("triggerName"); piG = acos(-1.); NumberMCParticles=0; NumberTracks=0; NumberInclusiveJet=0; NumberChargedJet=0; NumberTracksJet=0; NumberCaloJet=0; }
virtual AnalysisRootpleProducer::~AnalysisRootpleProducer | ( | ) | [inline, virtual] |
Definition at line 47 of file AnalysisRootpleProducer.h.
{} // no need to delete ROOT stuff
void AnalysisRootpleProducer::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | |||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 211 of file AnalysisRootpleProducer.cc.
References edm::Event::getByLabel(), edm::TriggerNames::triggerName(), and edm::Event::triggerNames().
{ e.getByLabel( triggerResultsTag, triggerResults ); const edm::TriggerNames & triggerNames = e.triggerNames(*triggerResults); acceptedTriggers->Clear(); unsigned int iAcceptedTriggers( 0 ); if ( triggerResults.product()->wasrun() ) { //cout << "at least one path out of " << triggerResults.product()->size() << " ran? " << triggerResults.product()->wasrun() << endl; if ( triggerResults.product()->accept() ) { //cout << endl << "at least one path accepted? " << triggerResults.product()->accept() << endl; const unsigned int n_TriggerResults( triggerResults.product()->size() ); for ( unsigned int itrig( 0 ); itrig < n_TriggerResults; ++itrig ) { if ( triggerResults.product()->accept( itrig ) ) { //cout << "path " << triggerNames.triggerName( itrig ); //cout << ", module index " << triggerResults.product()->index( itrig ); //cout << ", state (Ready = 0, Pass = 1, Fail = 2, Exception = 3) " << triggerResults.product()->state( itrig ); //cout << ", accept " << triggerResults.product()->accept( itrig ); //cout << endl; // save name of accepted trigger path new((*acceptedTriggers)[iAcceptedTriggers]) TObjString( (triggerNames.triggerName( itrig )).c_str() ); ++iAcceptedTriggers; } } } } // gen level analysis // skipped, if onlyRECO flag set to true if(!onlyRECO){ e.getByLabel( mcEvent , EvtHandle ); e.getByLabel( chgGenPartCollName, CandHandleMC ); e.getByLabel( chgJetCollName , ChgGenJetsHandle ); e.getByLabel( genJetCollName , GenJetsHandle ); const HepMC::GenEvent* Evt = EvtHandle->GetEvent() ; EventKind = Evt->signal_process_id(); std::vector<math::XYZTLorentzVector> GenPart; std::vector<GenJet> ChgGenJetContainer; std::vector<GenJet> GenJetContainer; GenPart.clear(); ChgGenJetContainer.clear(); GenJetContainer.clear(); MonteCarlo->Clear(); InclusiveJet->Clear(); ChargedJet->Clear(); // jets from charged particles at hadron level if (ChgGenJetsHandle->size()){ for ( GenJetCollection::const_iterator it(ChgGenJetsHandle->begin()), itEnd(ChgGenJetsHandle->end()); it!=itEnd; ++it) { ChgGenJetContainer.push_back(*it); } std::stable_sort(ChgGenJetContainer.begin(),ChgGenJetContainer.end(),GenJetSort()); std::vector<GenJet>::const_iterator it(ChgGenJetContainer.begin()), itEnd(ChgGenJetContainer.end()); for ( int iChargedJet(0); it != itEnd; ++it, ++iChargedJet) { fillChargedJet(it->p(),it->pt(),it->eta(),it->phi()); new((*ChargedJet)[iChargedJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); } } // GenJets if (GenJetsHandle->size()){ for ( GenJetCollection::const_iterator it(GenJetsHandle->begin()), itEnd(GenJetsHandle->end()); it!=itEnd; ++it ) { GenJetContainer.push_back(*it); } std::stable_sort(GenJetContainer.begin(),GenJetContainer.end(),GenJetSort()); std::vector<GenJet>::const_iterator it(GenJetContainer.begin()), itEnd(GenJetContainer.end()); for ( int iInclusiveJet(0); it != itEnd; ++it, ++iInclusiveJet) { fillInclusiveJet(it->p(),it->pt(),it->eta(),it->phi()); new((*InclusiveJet)[iInclusiveJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); } } // hadron level particles if (CandHandleMC->size()){ for (vector<GenParticle>::const_iterator it(CandHandleMC->begin()), itEnd(CandHandleMC->end()); it != itEnd;it++) { GenPart.push_back(it->p4()); } std::stable_sort(GenPart.begin(),GenPart.end(),GreaterPt()); std::vector<math::XYZTLorentzVector>::const_iterator it(GenPart.begin()), itEnd(GenPart.end()); for( int iMonteCarlo(0); it != itEnd; ++it, ++iMonteCarlo ) { fillMCParticles(it->P(),it->Pt(),it->Eta(),it->Phi()); new((*MonteCarlo)[iMonteCarlo]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E()); } } } // reco level analysis e.getByLabel( tracksCollName , CandHandleRECO ); e.getByLabel( recoCaloJetCollName, RecoCaloJetsHandle ); e.getByLabel( tracksJetCollName , TracksJetsHandle ); std::vector<math::XYZTLorentzVector> Tracks; std::vector<BasicJet> TracksJetContainer; std::vector<CaloJet> RecoCaloJetContainer; Tracks.clear(); TracksJetContainer.clear(); RecoCaloJetContainer.clear(); Track->Clear(); TracksJet->Clear(); CalorimeterJet->Clear(); if(RecoCaloJetsHandle->size()) { for(CaloJetCollection::const_iterator it(RecoCaloJetsHandle->begin()), itEnd(RecoCaloJetsHandle->end()); it!=itEnd;++it) { RecoCaloJetContainer.push_back(*it); } std::stable_sort(RecoCaloJetContainer.begin(),RecoCaloJetContainer.end(),CaloJetSort()); std::vector<CaloJet>::const_iterator it(RecoCaloJetContainer.begin()), itEnd(RecoCaloJetContainer.end()); for( int iCalorimeterJet(0); it != itEnd; ++it, ++iCalorimeterJet) { fillCaloJet(it->p(),it->pt(),it->eta(),it->phi()); new((*CalorimeterJet)[iCalorimeterJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); } } if(TracksJetsHandle->size()) { for(BasicJetCollection::const_iterator it(TracksJetsHandle->begin()), itEnd(TracksJetsHandle->end()); it!=itEnd;++it) { TracksJetContainer.push_back(*it); } std::stable_sort(TracksJetContainer.begin(),TracksJetContainer.end(),BasicJetSort()); std::vector<BasicJet>::const_iterator it(TracksJetContainer.begin()), itEnd(TracksJetContainer.end()); for(int iTracksJet(0); it != itEnd; ++it, ++iTracksJet) { fillTracksJet(it->p(),it->pt(),it->eta(),it->phi()); new((*TracksJet)[iTracksJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); } } if(CandHandleRECO->size()) { for(CandidateCollection::const_iterator it(CandHandleRECO->begin()), itEnd(CandHandleRECO->end()); it!=itEnd;++it) { Tracks.push_back(it->p4()); } std::stable_sort(Tracks.begin(),Tracks.end(),GreaterPt()); std::vector<math::XYZTLorentzVector>::const_iterator it( Tracks.begin()), itEnd(Tracks.end()); for(int iTracks(0); it != itEnd; ++it, ++iTracks) { fillTracks(it->P(),it->Pt(),it->Eta(),it->Phi()); new ((*Track)[iTracks]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E()); } } store(); }
void AnalysisRootpleProducer::beginJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 130 of file AnalysisRootpleProducer.cc.
{ // use TFileService for output to root file AnalysisTree = fs->make<TTree>("AnalysisTree","MBUE Analysis Tree "); AnalysisTree->Branch("EventKind",&EventKind,"EventKind/I"); // store p, pt, eta, phi for particles and jets // GenParticles at hadron level AnalysisTree->Branch("NumberMCParticles",&NumberMCParticles,"NumberMCParticles/I"); AnalysisTree->Branch("MomentumMC",MomentumMC,"MomentumMC[NumberMCParticles]/F"); AnalysisTree->Branch("TransverseMomentumMC",TransverseMomentumMC,"TransverseMomentumMC[NumberMCParticles]/F"); AnalysisTree->Branch("EtaMC",EtaMC,"EtaMC[NumberMCParticles]/F"); AnalysisTree->Branch("PhiMC",PhiMC,"PhiMC[NumberMCParticles]/F"); // tracks AnalysisTree->Branch("NumberTracks",&NumberTracks,"NumberTracks/I"); AnalysisTree->Branch("MomentumTK",MomentumTK,"MomentumTK[NumberTracks]/F"); AnalysisTree->Branch("TrasverseMomentumTK",TransverseMomentumTK,"TransverseMomentumTK[NumberTracks]/F"); AnalysisTree->Branch("EtaTK",EtaTK,"EtaTK[NumberTracks]/F"); AnalysisTree->Branch("PhiTK",PhiTK,"PhiTK[NumberTracks]/F"); // GenJets AnalysisTree->Branch("NumberInclusiveJet",&NumberInclusiveJet,"NumberInclusiveJet/I"); AnalysisTree->Branch("MomentumIJ",MomentumIJ,"MomentumIJ[NumberInclusiveJet]/F"); AnalysisTree->Branch("TrasverseMomentumIJ",TransverseMomentumIJ,"TransverseMomentumIJ[NumberInclusiveJet]/F"); AnalysisTree->Branch("EtaIJ",EtaIJ,"EtaIJ[NumberInclusiveJet]/F"); AnalysisTree->Branch("PhiIJ",PhiIJ,"PhiIJ[NumberInclusiveJet]/F"); // jets from charged GenParticles AnalysisTree->Branch("NumberChargedJet",&NumberChargedJet,"NumberChargedJet/I"); AnalysisTree->Branch("MomentumCJ",MomentumCJ,"MomentumCJ[NumberChargedJet]/F"); AnalysisTree->Branch("TrasverseMomentumCJ",TransverseMomentumCJ,"TransverseMomentumCJ[NumberChargedJet]/F"); AnalysisTree->Branch("EtaCJ",EtaCJ,"EtaCJ[NumberChargedJet]/F"); AnalysisTree->Branch("PhiCJ",PhiCJ,"PhiCJ[NumberChargedJet]/F"); // jets from tracks AnalysisTree->Branch("NumberTracksJet",&NumberTracksJet,"NumberTracksJet/I"); AnalysisTree->Branch("MomentumTJ",MomentumTJ,"MomentumTJ[NumberTracksJet]/F"); AnalysisTree->Branch("TrasverseMomentumTJ",TransverseMomentumTJ,"TransverseMomentumTJ[NumberTracksJet]/F"); AnalysisTree->Branch("EtaTJ",EtaTJ,"EtaTJ[NumberTracksJet]/F"); AnalysisTree->Branch("PhiTJ",PhiTJ,"PhiTJ[NumberTracksJet]/F"); // jets from calorimeter towers AnalysisTree->Branch("NumberCaloJet",&NumberCaloJet,"NumberCaloJet/I"); AnalysisTree->Branch("MomentumEHJ",MomentumEHJ,"MomentumEHJ[NumberCaloJet]/F"); AnalysisTree->Branch("TrasverseMomentumEHJ",TransverseMomentumEHJ,"TransverseMomentumEHJ[NumberCaloJet]/F"); AnalysisTree->Branch("EtaEHJ",EtaEHJ,"EtaEHJ[NumberCaloJet]/F"); AnalysisTree->Branch("PhiEHJ",PhiEHJ,"PhiEHJ[NumberCaloJet]/F"); // alternative storage method: // save TClonesArrays of TLorentzVectors // i.e. store 4-vectors of particles and jets MonteCarlo = new TClonesArray("TLorentzVector", 10000); AnalysisTree->Branch("MonteCarlo", "TClonesArray", &MonteCarlo, 128000, 0); Track = new TClonesArray("TLorentzVector", 10000); AnalysisTree->Branch("Track", "TClonesArray", &Track, 128000, 0); InclusiveJet = new TClonesArray("TLorentzVector", 10000); AnalysisTree->Branch("InclusiveJet", "TClonesArray", &InclusiveJet, 128000, 0); ChargedJet = new TClonesArray("TLorentzVector", 10000); AnalysisTree->Branch("ChargedJet", "TClonesArray", &ChargedJet, 128000, 0); TracksJet = new TClonesArray("TLorentzVector", 10000); AnalysisTree->Branch("TracksJet", "TClonesArray", &TracksJet, 128000, 0); CalorimeterJet = new TClonesArray("TLorentzVector", 10000); AnalysisTree->Branch("CalorimeterJet", "TClonesArray", &CalorimeterJet, 128000, 0); acceptedTriggers = new TClonesArray("TObjString", 10000); AnalysisTree->Branch("acceptedTriggers", "TClonesArray", &acceptedTriggers, 128000, 0); }
void AnalysisRootpleProducer::endJob | ( | void | ) | [virtual] |
void AnalysisRootpleProducer::fillCaloJet | ( | float | p, |
float | pt, | ||
float | eta, | ||
float | phi | ||
) |
Definition at line 94 of file AnalysisRootpleProducer.cc.
References eta(), L1TEmulatorMonitor_cff::p, and phi.
{ MomentumEHJ[NumberCaloJet]=p; TransverseMomentumEHJ[NumberCaloJet]=pt; EtaEHJ[NumberCaloJet]=eta; PhiEHJ[NumberCaloJet]=phi; NumberCaloJet++; }
void AnalysisRootpleProducer::fillChargedJet | ( | float | p, |
float | pt, | ||
float | eta, | ||
float | phi | ||
) |
Definition at line 78 of file AnalysisRootpleProducer.cc.
References eta(), L1TEmulatorMonitor_cff::p, and phi.
void AnalysisRootpleProducer::fillEventInfo | ( | int | e | ) |
Definition at line 50 of file AnalysisRootpleProducer.cc.
{ EventKind = e; }
void AnalysisRootpleProducer::fillInclusiveJet | ( | float | p, |
float | pt, | ||
float | eta, | ||
float | phi | ||
) |
Definition at line 70 of file AnalysisRootpleProducer.cc.
References eta(), L1TEmulatorMonitor_cff::p, and phi.
void AnalysisRootpleProducer::fillMCParticles | ( | float | p, |
float | pt, | ||
float | eta, | ||
float | phi | ||
) |
Definition at line 54 of file AnalysisRootpleProducer.cc.
References eta(), L1TEmulatorMonitor_cff::p, and phi.
void AnalysisRootpleProducer::fillTracks | ( | float | p, |
float | pt, | ||
float | eta, | ||
float | phi | ||
) |
Definition at line 62 of file AnalysisRootpleProducer.cc.
References eta(), L1TEmulatorMonitor_cff::p, and phi.
{ MomentumTK[NumberTracks]=p; TransverseMomentumTK[NumberTracks]=pt; EtaTK[NumberTracks]=eta; PhiTK[NumberTracks]=phi; NumberTracks++; }
void AnalysisRootpleProducer::fillTracksJet | ( | float | p, |
float | pt, | ||
float | eta, | ||
float | phi | ||
) |
Definition at line 86 of file AnalysisRootpleProducer.cc.
References eta(), L1TEmulatorMonitor_cff::p, and phi.
void AnalysisRootpleProducer::store | ( | ) |
Definition at line 38 of file AnalysisRootpleProducer.cc.
{ AnalysisTree->Fill(); NumberMCParticles=0; NumberTracks=0; NumberInclusiveJet=0; NumberChargedJet=0; NumberTracksJet=0; NumberCaloJet=0; }
TClonesArray* AnalysisRootpleProducer::acceptedTriggers [private] |
Definition at line 114 of file AnalysisRootpleProducer.h.
TTree* AnalysisRootpleProducer::AnalysisTree [private] |
Definition at line 90 of file AnalysisRootpleProducer.h.
TClonesArray* AnalysisRootpleProducer::CalorimeterJet [private] |
Definition at line 113 of file AnalysisRootpleProducer.h.
edm::Handle< std::vector<reco::GenParticle> > AnalysisRootpleProducer::CandHandleMC [private] |
Definition at line 77 of file AnalysisRootpleProducer.h.
Definition at line 80 of file AnalysisRootpleProducer.h.
TClonesArray* AnalysisRootpleProducer::ChargedJet [private] |
Definition at line 110 of file AnalysisRootpleProducer.h.
Definition at line 79 of file AnalysisRootpleProducer.h.
Definition at line 70 of file AnalysisRootpleProducer.h.
Definition at line 69 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::EtaCJ[NCJMAX] [private] |
Definition at line 104 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::EtaEHJ[NEHJMAX] [private] |
Definition at line 106 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::EtaIJ[NIJMAX] [private] |
Definition at line 103 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::EtaMC[NMCPMAX] [private] |
Definition at line 101 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::EtaTJ[NTJMAX] [private] |
Definition at line 105 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::EtaTK[NTKMAX] [private] |
Definition at line 102 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::EventKind [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
Definition at line 76 of file AnalysisRootpleProducer.h.
edm::Service<TFileService> AnalysisRootpleProducer::fs [private] |
Definition at line 86 of file AnalysisRootpleProducer.h.
Definition at line 68 of file AnalysisRootpleProducer.h.
Definition at line 78 of file AnalysisRootpleProducer.h.
TClonesArray* AnalysisRootpleProducer::InclusiveJet [private] |
Definition at line 109 of file AnalysisRootpleProducer.h.
Definition at line 67 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::MomentumCJ[NCJMAX] [private] |
Definition at line 104 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::MomentumEHJ[NEHJMAX] [private] |
Definition at line 106 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::MomentumIJ[NIJMAX] [private] |
Definition at line 103 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::MomentumMC[NMCPMAX] [private] |
Definition at line 101 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::MomentumTJ[NTJMAX] [private] |
Definition at line 105 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::MomentumTK[NTKMAX] [private] |
Definition at line 102 of file AnalysisRootpleProducer.h.
TClonesArray* AnalysisRootpleProducer::MonteCarlo [private] |
Definition at line 108 of file AnalysisRootpleProducer.h.
const int AnalysisRootpleProducer::NCJMAX = 10000 [static, private] |
Definition at line 95 of file AnalysisRootpleProducer.h.
const int AnalysisRootpleProducer::NEHJMAX = 10000 [static, private] |
Definition at line 97 of file AnalysisRootpleProducer.h.
const int AnalysisRootpleProducer::NIJMAX = 10000 [static, private] |
Definition at line 94 of file AnalysisRootpleProducer.h.
const int AnalysisRootpleProducer::NMCPMAX = 10000 [static, private] |
Definition at line 92 of file AnalysisRootpleProducer.h.
const int AnalysisRootpleProducer::NTJMAX = 10000 [static, private] |
Definition at line 96 of file AnalysisRootpleProducer.h.
const int AnalysisRootpleProducer::NTKMAX = 10000 [static, private] |
Definition at line 93 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::NumberCaloJet [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::NumberChargedJet [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::NumberInclusiveJet [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::NumberMCParticles [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::NumberTracks [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
int AnalysisRootpleProducer::NumberTracksJet [private] |
Definition at line 99 of file AnalysisRootpleProducer.h.
bool AnalysisRootpleProducer::onlyRECO [private] |
Definition at line 65 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::PhiCJ[NCJMAX] [private] |
Definition at line 104 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::PhiEHJ[NEHJMAX] [private] |
Definition at line 106 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::PhiIJ[NIJMAX] [private] |
Definition at line 103 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::PhiMC[NMCPMAX] [private] |
Definition at line 101 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::PhiTJ[NTJMAX] [private] |
Definition at line 105 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::PhiTK[NTKMAX] [private] |
Definition at line 102 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::piG [private] |
Definition at line 88 of file AnalysisRootpleProducer.h.
Definition at line 72 of file AnalysisRootpleProducer.h.
Definition at line 82 of file AnalysisRootpleProducer.h.
TClonesArray* AnalysisRootpleProducer::Track [private] |
Definition at line 111 of file AnalysisRootpleProducer.h.
Definition at line 73 of file AnalysisRootpleProducer.h.
TClonesArray* AnalysisRootpleProducer::TracksJet [private] |
Definition at line 112 of file AnalysisRootpleProducer.h.
Definition at line 71 of file AnalysisRootpleProducer.h.
Definition at line 81 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::TransverseMomentumCJ[NCJMAX] [private] |
Definition at line 104 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::TransverseMomentumEHJ[NEHJMAX] [private] |
Definition at line 106 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::TransverseMomentumIJ[NIJMAX] [private] |
Definition at line 103 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::TransverseMomentumMC[NMCPMAX] [private] |
Definition at line 101 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::TransverseMomentumTJ[NTJMAX] [private] |
Definition at line 105 of file AnalysisRootpleProducer.h.
float AnalysisRootpleProducer::TransverseMomentumTK[NTKMAX] [private] |
Definition at line 102 of file AnalysisRootpleProducer.h.
Definition at line 83 of file AnalysisRootpleProducer.h.
Definition at line 74 of file AnalysisRootpleProducer.h.