CMS 3D CMS Logo

AnalysisRootpleProducer Class Reference

#include <QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h>

Inheritance diagram for AnalysisRootpleProducer:

edm::EDAnalyzer

List of all members.

Public Member Functions

 AnalysisRootpleProducer (const edm::ParameterSet &)
virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob (const edm::EventSetup &)
virtual void endJob ()
void fillCaloJet (float, float, float, float)
void fillChargedJet (float, float, float, float)
void fillEventInfo (int)
void fillInclusiveJet (float, float, float, float)
void fillMCParticles (float, float, float, float)
void fillTracks (float, float, float, float)
void fillTracksJet (float, float, float, float)
void store ()
virtual ~AnalysisRootpleProducer ()

Private Attributes

TClonesArray * acceptedTriggers
TTree * AnalysisTree
TClonesArray * CalorimeterJet
Handle< vector< GenParticle > > CandHandleMC
Handle< CandidateCollectionCandHandleRECO
TClonesArray * ChargedJet
Handle< GenJetCollection > ChgGenJetsHandle
InputTag chgGenPartCollName
InputTag chgJetCollName
float EtaCJ [NCJMAX]
float EtaEHJ [NEHJMAX]
float EtaIJ [NIJMAX]
float EtaMC [NMCPMAX]
float EtaTJ [NTJMAX]
float EtaTK [NTKMAX]
int EventKind
Handle< HepMCProductEvtHandle
edm::Service< TFileServicefs
InputTag genJetCollName
Handle< GenJetCollection > GenJetsHandle
TClonesArray * InclusiveJet
InputTag mcEvent
float MomentumCJ [NCJMAX]
float MomentumEHJ [NEHJMAX]
float MomentumIJ [NIJMAX]
float MomentumMC [NMCPMAX]
float MomentumTJ [NTJMAX]
float MomentumTK [NTKMAX]
TClonesArray * MonteCarlo
int NumberCaloJet
int NumberChargedJet
int NumberInclusiveJet
int NumberMCParticles
int NumberTracks
int NumberTracksJet
bool onlyRECO
float PhiCJ [NCJMAX]
float PhiEHJ [NEHJMAX]
float PhiIJ [NIJMAX]
float PhiMC [NMCPMAX]
float PhiTJ [NTJMAX]
float PhiTK [NTKMAX]
float piG
InputTag recoCaloJetCollName
Handle< CaloJetCollection > RecoCaloJetsHandle
TClonesArray * Track
InputTag tracksCollName
TClonesArray * TracksJet
InputTag tracksJetCollName
Handle< BasicJetCollection > TracksJetsHandle
float TransverseMomentumCJ [NCJMAX]
float TransverseMomentumEHJ [NEHJMAX]
float TransverseMomentumIJ [NIJMAX]
float TransverseMomentumMC [NMCPMAX]
float TransverseMomentumTJ [NTJMAX]
float TransverseMomentumTK [NTKMAX]
TriggerNames triggerNames
Handle< TriggerResultstriggerResults
InputTag triggerResultsTag

Static Private Attributes

static const int NCJMAX = 10000
static const int NEHJMAX = 10000
static const int NIJMAX = 10000
static const int NMCPMAX = 10000
static const int NTJMAX = 10000
static const int NTKMAX = 10000


Detailed Description

Definition at line 46 of file AnalysisRootpleProducer.h.


Constructor & Destructor Documentation

AnalysisRootpleProducer::AnalysisRootpleProducer ( const edm::ParameterSet pset  )  [explicit]

Definition at line 101 of file AnalysisRootpleProducer.cc.

References chgGenPartCollName, chgJetCollName, genJetCollName, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), mcEvent, NumberCaloJet, NumberChargedJet, NumberInclusiveJet, NumberMCParticles, NumberTracks, NumberTracksJet, onlyRECO, piG, recoCaloJetCollName, tracksCollName, tracksJetCollName, and triggerResultsTag.

00102 {
00103   // flag to ignore gen-level analysis
00104   onlyRECO = pset.getUntrackedParameter<bool>("OnlyRECO",false);
00105 
00106   // particle, track and jet collections
00107   mcEvent = pset.getUntrackedParameter<InputTag>("MCEvent",std::string(""));
00108   genJetCollName = pset.getUntrackedParameter<InputTag>("GenJetCollectionName",std::string(""));
00109   chgJetCollName = pset.getUntrackedParameter<InputTag>("ChgGenJetCollectionName",std::string(""));
00110   tracksJetCollName = pset.getUntrackedParameter<InputTag>("TracksJetCollectionName",std::string(""));
00111   recoCaloJetCollName = pset.getUntrackedParameter<InputTag>("RecoCaloJetCollectionName",std::string(""));
00112   chgGenPartCollName = pset.getUntrackedParameter<InputTag>("ChgGenPartCollectionName",std::string(""));
00113   tracksCollName = pset.getUntrackedParameter<InputTag>("TracksCollectionName",std::string(""));
00114 
00115   // trigger results
00116   triggerResultsTag = pset.getParameter<InputTag>("triggerResults");
00117   //   hltFilterTag      = pset.getParameter<InputTag>("hltFilter");
00118   //   triggerName       = pset.getParameter<InputTag>("triggerName");
00119 
00120   piG = acos(-1.);
00121   NumberMCParticles=0;
00122   NumberTracks=0;
00123   NumberInclusiveJet=0;
00124   NumberChargedJet=0;
00125   NumberTracksJet=0;
00126   NumberCaloJet=0;
00127 }

virtual AnalysisRootpleProducer::~AnalysisRootpleProducer (  )  [inline, virtual]

Definition at line 53 of file AnalysisRootpleProducer.h.

00053 {} // no need to delete ROOT stuff


Member Function Documentation

void AnalysisRootpleProducer::analyze ( const edm::Event e,
const edm::EventSetup  
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 210 of file AnalysisRootpleProducer.cc.

References acceptedTriggers, CalorimeterJet, CandHandleMC, CandHandleRECO, ChargedJet, ChgGenJetsHandle, chgGenPartCollName, chgJetCollName, EventKind, EvtHandle, fillCaloJet(), fillChargedJet(), fillInclusiveJet(), fillMCParticles(), fillTracks(), fillTracksJet(), genJetCollName, GenJetsHandle, edm::Event::getByLabel(), InclusiveJet, edm::TriggerNames::init(), it, mcEvent, MonteCarlo, onlyRECO, recoCaloJetCollName, RecoCaloJetsHandle, store(), tracksCollName, TracksJet, tracksJetCollName, TracksJetsHandle, edm::TriggerNames::triggerName(), triggerNames, triggerResults, and triggerResultsTag.

00211 {
00212   
00213   e.getByLabel( triggerResultsTag, triggerResults );
00214   triggerNames.init( *(triggerResults.product()) );
00215 
00216   acceptedTriggers->Clear();
00217   unsigned int iAcceptedTriggers( 0 ); 
00218   if ( triggerResults.product()->wasrun() )
00219     {
00220       //cout << "at least one path out of " << triggerResults.product()->size() << " ran? " << triggerResults.product()->wasrun() << endl;
00221   
00222       if ( triggerResults.product()->accept() ) 
00223         {
00224           //cout << endl << "at least one path accepted? " << triggerResults.product()->accept() << endl;
00225 
00226           const unsigned int n_TriggerResults( triggerResults.product()->size() );
00227           for ( unsigned int itrig( 0 ); itrig < n_TriggerResults; ++itrig )
00228             {
00229               if ( triggerResults.product()->accept( itrig ) )
00230                 {
00231                   //cout << "path " << triggerNames.triggerName( itrig );
00232                   //cout << ", module index " << triggerResults.product()->index( itrig );
00233                   //cout << ", state (Ready = 0, Pass = 1, Fail = 2, Exception = 3) " << triggerResults.product()->state( itrig );
00234                   //cout << ", accept " << triggerResults.product()->accept( itrig );
00235                   //cout << endl;
00236 
00237                   // save name of accepted trigger path
00238                   new((*acceptedTriggers)[iAcceptedTriggers]) TObjString( (triggerNames.triggerName( itrig )).c_str() );
00239                   ++iAcceptedTriggers;
00240                 }
00241             }
00242         }
00243     }
00244 
00245   // gen level analysis
00246   // skipped, if onlyRECO flag set to true
00247 
00248   if(!onlyRECO){
00249     
00250     e.getByLabel( mcEvent           , EvtHandle        );
00251     e.getByLabel( chgGenPartCollName, CandHandleMC     );
00252     e.getByLabel( chgJetCollName    , ChgGenJetsHandle );
00253     e.getByLabel( genJetCollName    , GenJetsHandle    );
00254     
00255     const HepMC::GenEvent* Evt = EvtHandle->GetEvent() ;
00256     
00257     EventKind = Evt->signal_process_id();
00258 
00259     std::vector<math::XYZTLorentzVector> GenPart;
00260     std::vector<GenJet> ChgGenJetContainer;
00261     std::vector<GenJet> GenJetContainer;
00262     
00263     GenPart.clear();
00264     ChgGenJetContainer.clear();
00265     GenJetContainer.clear();
00266     MonteCarlo->Clear();
00267     InclusiveJet->Clear();
00268     ChargedJet->Clear();
00269 
00270     // jets from charged particles at hadron level
00271     if (ChgGenJetsHandle->size()){
00272 
00273       for ( GenJetCollection::const_iterator it(ChgGenJetsHandle->begin()), itEnd(ChgGenJetsHandle->end());
00274             it!=itEnd; ++it)
00275         {
00276           ChgGenJetContainer.push_back(*it);
00277         }
00278 
00279       std::stable_sort(ChgGenJetContainer.begin(),ChgGenJetContainer.end(),GenJetSort());
00280 
00281       std::vector<GenJet>::const_iterator it(ChgGenJetContainer.begin()), itEnd(ChgGenJetContainer.end());
00282       for ( int iChargedJet(0); it != itEnd; ++it, ++iChargedJet)
00283         {
00284           fillChargedJet(it->p(),it->pt(),it->eta(),it->phi());
00285           new((*ChargedJet)[iChargedJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy());
00286         }
00287     }
00288 
00289 
00290     // GenJets
00291     if (GenJetsHandle->size()){
00292 
00293       for ( GenJetCollection::const_iterator it(GenJetsHandle->begin()), itEnd(GenJetsHandle->end());
00294             it!=itEnd; ++it )
00295         {
00296           GenJetContainer.push_back(*it);
00297         }
00298 
00299       std::stable_sort(GenJetContainer.begin(),GenJetContainer.end(),GenJetSort());
00300 
00301       std::vector<GenJet>::const_iterator it(GenJetContainer.begin()), itEnd(GenJetContainer.end());
00302       for ( int iInclusiveJet(0); it != itEnd; ++it, ++iInclusiveJet)
00303         {
00304           fillInclusiveJet(it->p(),it->pt(),it->eta(),it->phi());
00305           new((*InclusiveJet)[iInclusiveJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy());
00306         }
00307     }
00308 
00309 
00310     // hadron level particles
00311     if (CandHandleMC->size()){
00312       
00313       for (vector<GenParticle>::const_iterator it(CandHandleMC->begin()), itEnd(CandHandleMC->end());
00314            it != itEnd;it++)
00315         {
00316           GenPart.push_back(it->p4());
00317         }
00318 
00319       std::stable_sort(GenPart.begin(),GenPart.end(),GreaterPt());
00320 
00321       std::vector<math::XYZTLorentzVector>::const_iterator it(GenPart.begin()), itEnd(GenPart.end());
00322       for( int iMonteCarlo(0); it != itEnd; ++it, ++iMonteCarlo )
00323         {
00324           fillMCParticles(it->P(),it->Pt(),it->Eta(),it->Phi());
00325           new((*MonteCarlo)[iMonteCarlo]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E());
00326         }
00327     }
00328 
00329   } 
00330 
00331   
00332   // reco level analysis
00333   
00334   e.getByLabel( tracksCollName     , CandHandleRECO     );
00335   e.getByLabel( recoCaloJetCollName, RecoCaloJetsHandle );
00336   e.getByLabel( tracksJetCollName  , TracksJetsHandle   );
00337   
00338   std::vector<math::XYZTLorentzVector> Tracks;
00339   std::vector<BasicJet> TracksJetContainer;
00340   std::vector<CaloJet> RecoCaloJetContainer;
00341   
00342   Tracks.clear();
00343   TracksJetContainer.clear();
00344   RecoCaloJetContainer.clear();
00345   
00346   Track->Clear();
00347   TracksJet->Clear();
00348   CalorimeterJet->Clear();
00349 
00350   if(RecoCaloJetsHandle->size())
00351     {
00352     for(CaloJetCollection::const_iterator it(RecoCaloJetsHandle->begin()), itEnd(RecoCaloJetsHandle->end());
00353         it!=itEnd;++it)
00354       {
00355         RecoCaloJetContainer.push_back(*it);
00356       }
00357     std::stable_sort(RecoCaloJetContainer.begin(),RecoCaloJetContainer.end(),CaloJetSort());
00358 
00359     std::vector<CaloJet>::const_iterator it(RecoCaloJetContainer.begin()), itEnd(RecoCaloJetContainer.end());
00360     for( int iCalorimeterJet(0); it != itEnd; ++it, ++iCalorimeterJet)
00361       {
00362         fillCaloJet(it->p(),it->pt(),it->eta(),it->phi());
00363         new((*CalorimeterJet)[iCalorimeterJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy());
00364       }
00365     }
00366     
00367   if(TracksJetsHandle->size())
00368     {
00369       for(BasicJetCollection::const_iterator it(TracksJetsHandle->begin()), itEnd(TracksJetsHandle->end());
00370           it!=itEnd;++it)
00371         {
00372           TracksJetContainer.push_back(*it);
00373         }
00374       std::stable_sort(TracksJetContainer.begin(),TracksJetContainer.end(),BasicJetSort());
00375     
00376       std::vector<BasicJet>::const_iterator it(TracksJetContainer.begin()), itEnd(TracksJetContainer.end());
00377       for(int iTracksJet(0); it != itEnd; ++it, ++iTracksJet)
00378         {
00379           fillTracksJet(it->p(),it->pt(),it->eta(),it->phi());
00380           new((*TracksJet)[iTracksJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy());
00381         }
00382     }
00383   
00384   if(CandHandleRECO->size())
00385     {
00386       for(CandidateCollection::const_iterator it(CandHandleRECO->begin()), itEnd(CandHandleRECO->end());
00387           it!=itEnd;++it)
00388         {
00389           Tracks.push_back(it->p4());
00390         }
00391       std::stable_sort(Tracks.begin(),Tracks.end(),GreaterPt());
00392     
00393       std::vector<math::XYZTLorentzVector>::const_iterator it( Tracks.begin()), itEnd(Tracks.end());
00394       for(int iTracks(0); it != itEnd; ++it, ++iTracks)
00395         {
00396           fillTracks(it->P(),it->Pt(),it->Eta(),it->Phi());
00397           new ((*Track)[iTracks]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E());
00398         }
00399     }
00400   
00401   store();
00402 }

void AnalysisRootpleProducer::beginJob ( const edm::EventSetup  )  [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 129 of file AnalysisRootpleProducer.cc.

References acceptedTriggers, AnalysisTree, CalorimeterJet, ChargedJet, EtaCJ, EtaEHJ, EtaIJ, EtaMC, EtaTJ, EtaTK, EventKind, fs, InclusiveJet, MomentumCJ, MomentumEHJ, MomentumIJ, MomentumMC, MomentumTJ, MomentumTK, MonteCarlo, NumberCaloJet, NumberChargedJet, NumberInclusiveJet, NumberMCParticles, NumberTracks, NumberTracksJet, PhiCJ, PhiEHJ, PhiIJ, PhiMC, PhiTJ, PhiTK, TracksJet, TransverseMomentumCJ, TransverseMomentumEHJ, TransverseMomentumIJ, TransverseMomentumMC, TransverseMomentumTJ, and TransverseMomentumTK.

00130 {
00131  
00132   // use TFileService for output to root file
00133   AnalysisTree = fs->make<TTree>("AnalysisTree","MBUE Analysis Tree ");
00134 
00135   AnalysisTree->Branch("EventKind",&EventKind,"EventKind/I");
00136 
00137   // store p, pt, eta, phi for particles and jets
00138 
00139   // GenParticles at hadron level  
00140   AnalysisTree->Branch("NumberMCParticles",&NumberMCParticles,"NumberMCParticles/I");
00141   AnalysisTree->Branch("MomentumMC",MomentumMC,"MomentumMC[NumberMCParticles]/F");
00142   AnalysisTree->Branch("TransverseMomentumMC",TransverseMomentumMC,"TransverseMomentumMC[NumberMCParticles]/F");
00143   AnalysisTree->Branch("EtaMC",EtaMC,"EtaMC[NumberMCParticles]/F");
00144   AnalysisTree->Branch("PhiMC",PhiMC,"PhiMC[NumberMCParticles]/F");
00145   
00146   // tracks
00147   AnalysisTree->Branch("NumberTracks",&NumberTracks,"NumberTracks/I");
00148   AnalysisTree->Branch("MomentumTK",MomentumTK,"MomentumTK[NumberTracks]/F");
00149   AnalysisTree->Branch("TrasverseMomentumTK",TransverseMomentumTK,"TransverseMomentumTK[NumberTracks]/F");
00150   AnalysisTree->Branch("EtaTK",EtaTK,"EtaTK[NumberTracks]/F");
00151   AnalysisTree->Branch("PhiTK",PhiTK,"PhiTK[NumberTracks]/F");
00152   
00153   // GenJets
00154   AnalysisTree->Branch("NumberInclusiveJet",&NumberInclusiveJet,"NumberInclusiveJet/I");
00155   AnalysisTree->Branch("MomentumIJ",MomentumIJ,"MomentumIJ[NumberInclusiveJet]/F");
00156   AnalysisTree->Branch("TrasverseMomentumIJ",TransverseMomentumIJ,"TransverseMomentumIJ[NumberInclusiveJet]/F");
00157   AnalysisTree->Branch("EtaIJ",EtaIJ,"EtaIJ[NumberInclusiveJet]/F");
00158   AnalysisTree->Branch("PhiIJ",PhiIJ,"PhiIJ[NumberInclusiveJet]/F");
00159   
00160   // jets from charged GenParticles
00161   AnalysisTree->Branch("NumberChargedJet",&NumberChargedJet,"NumberChargedJet/I");
00162   AnalysisTree->Branch("MomentumCJ",MomentumCJ,"MomentumCJ[NumberChargedJet]/F");
00163   AnalysisTree->Branch("TrasverseMomentumCJ",TransverseMomentumCJ,"TransverseMomentumCJ[NumberChargedJet]/F");
00164   AnalysisTree->Branch("EtaCJ",EtaCJ,"EtaCJ[NumberChargedJet]/F");
00165   AnalysisTree->Branch("PhiCJ",PhiCJ,"PhiCJ[NumberChargedJet]/F");
00166   
00167   // jets from tracks
00168   AnalysisTree->Branch("NumberTracksJet",&NumberTracksJet,"NumberTracksJet/I");
00169   AnalysisTree->Branch("MomentumTJ",MomentumTJ,"MomentumTJ[NumberTracksJet]/F");
00170   AnalysisTree->Branch("TrasverseMomentumTJ",TransverseMomentumTJ,"TransverseMomentumTJ[NumberTracksJet]/F");
00171   AnalysisTree->Branch("EtaTJ",EtaTJ,"EtaTJ[NumberTracksJet]/F");
00172   AnalysisTree->Branch("PhiTJ",PhiTJ,"PhiTJ[NumberTracksJet]/F");
00173   
00174   // jets from calorimeter towers
00175   AnalysisTree->Branch("NumberCaloJet",&NumberCaloJet,"NumberCaloJet/I");
00176   AnalysisTree->Branch("MomentumEHJ",MomentumEHJ,"MomentumEHJ[NumberCaloJet]/F");
00177   AnalysisTree->Branch("TrasverseMomentumEHJ",TransverseMomentumEHJ,"TransverseMomentumEHJ[NumberCaloJet]/F");
00178   AnalysisTree->Branch("EtaEHJ",EtaEHJ,"EtaEHJ[NumberCaloJet]/F");
00179   AnalysisTree->Branch("PhiEHJ",PhiEHJ,"PhiEHJ[NumberCaloJet]/F");
00180   
00181 
00182   // alternative storage method:
00183   // save TClonesArrays of TLorentzVectors
00184   // i.e. store 4-vectors of particles and jets
00185 
00186   MonteCarlo = new TClonesArray("TLorentzVector", 10000);
00187   AnalysisTree->Branch("MonteCarlo", "TClonesArray", &MonteCarlo, 128000, 0);
00188 
00189   Track = new TClonesArray("TLorentzVector", 10000);
00190   AnalysisTree->Branch("Track", "TClonesArray", &Track, 128000, 0);
00191 
00192   InclusiveJet = new TClonesArray("TLorentzVector", 10000);
00193   AnalysisTree->Branch("InclusiveJet", "TClonesArray", &InclusiveJet, 128000, 0);
00194 
00195   ChargedJet = new TClonesArray("TLorentzVector", 10000);
00196   AnalysisTree->Branch("ChargedJet", "TClonesArray", &ChargedJet, 128000, 0);
00197 
00198   TracksJet = new TClonesArray("TLorentzVector", 10000);
00199   AnalysisTree->Branch("TracksJet", "TClonesArray", &TracksJet, 128000, 0);
00200 
00201   CalorimeterJet = new TClonesArray("TLorentzVector", 10000);
00202   AnalysisTree->Branch("CalorimeterJet", "TClonesArray", &CalorimeterJet, 128000, 0);
00203 
00204   acceptedTriggers = new TClonesArray("TObjString", 10000);
00205   AnalysisTree->Branch("acceptedTriggers", "TClonesArray", &acceptedTriggers, 128000, 0);
00206 
00207 }

void AnalysisRootpleProducer::endJob ( void   )  [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 404 of file AnalysisRootpleProducer.cc.

00405 {
00406 }

void AnalysisRootpleProducer::fillCaloJet ( float  p,
float  pt,
float  eta,
float  phi 
)

Definition at line 93 of file AnalysisRootpleProducer.cc.

References EtaEHJ, MomentumEHJ, NumberCaloJet, PhiEHJ, and TransverseMomentumEHJ.

Referenced by analyze().

void AnalysisRootpleProducer::fillChargedJet ( float  p,
float  pt,
float  eta,
float  phi 
)

Definition at line 77 of file AnalysisRootpleProducer.cc.

References EtaCJ, MomentumCJ, NumberChargedJet, PhiCJ, and TransverseMomentumCJ.

Referenced by analyze().

void AnalysisRootpleProducer::fillEventInfo ( int  e  ) 

Definition at line 49 of file AnalysisRootpleProducer.cc.

References EventKind.

00049                                                 {
00050   EventKind = e;
00051 }

void AnalysisRootpleProducer::fillInclusiveJet ( float  p,
float  pt,
float  eta,
float  phi 
)

Definition at line 69 of file AnalysisRootpleProducer.cc.

References EtaIJ, MomentumIJ, NumberInclusiveJet, PhiIJ, and TransverseMomentumIJ.

Referenced by analyze().

void AnalysisRootpleProducer::fillMCParticles ( float  p,
float  pt,
float  eta,
float  phi 
)

Definition at line 53 of file AnalysisRootpleProducer.cc.

References EtaMC, MomentumMC, NumberMCParticles, PhiMC, and TransverseMomentumMC.

Referenced by analyze().

void AnalysisRootpleProducer::fillTracks ( float  p,
float  pt,
float  eta,
float  phi 
)

Definition at line 61 of file AnalysisRootpleProducer.cc.

References EtaTK, MomentumTK, NumberTracks, PhiTK, and TransverseMomentumTK.

Referenced by analyze().

00061                                                                                {
00062   MomentumTK[NumberTracks]=p;
00063   TransverseMomentumTK[NumberTracks]=pt;
00064   EtaTK[NumberTracks]=eta;
00065   PhiTK[NumberTracks]=phi;
00066   NumberTracks++;
00067 }

void AnalysisRootpleProducer::fillTracksJet ( float  p,
float  pt,
float  eta,
float  phi 
)

Definition at line 85 of file AnalysisRootpleProducer.cc.

References EtaTJ, MomentumTJ, NumberTracksJet, PhiTJ, and TransverseMomentumTJ.

Referenced by analyze().

void AnalysisRootpleProducer::store (  ) 

Definition at line 37 of file AnalysisRootpleProducer.cc.

References AnalysisTree, NumberCaloJet, NumberChargedJet, NumberInclusiveJet, NumberMCParticles, NumberTracks, and NumberTracksJet.

Referenced by analyze().

00037                                    {
00038 
00039   AnalysisTree->Fill();
00040 
00041   NumberMCParticles=0;
00042   NumberTracks=0;
00043   NumberInclusiveJet=0;
00044   NumberChargedJet=0;
00045   NumberTracksJet=0;
00046   NumberCaloJet=0;
00047 }


Member Data Documentation

TClonesArray* AnalysisRootpleProducer::acceptedTriggers [private]

Definition at line 121 of file AnalysisRootpleProducer.h.

Referenced by analyze(), and beginJob().

TTree* AnalysisRootpleProducer::AnalysisTree [private]

Definition at line 97 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and store().

TClonesArray* AnalysisRootpleProducer::CalorimeterJet [private]

Definition at line 120 of file AnalysisRootpleProducer.h.

Referenced by analyze(), and beginJob().

Handle< vector<GenParticle> > AnalysisRootpleProducer::CandHandleMC [private]

Definition at line 83 of file AnalysisRootpleProducer.h.

Referenced by analyze().

Handle< CandidateCollection > AnalysisRootpleProducer::CandHandleRECO [private]

Definition at line 86 of file AnalysisRootpleProducer.h.

Referenced by analyze().

TClonesArray* AnalysisRootpleProducer::ChargedJet [private]

Definition at line 117 of file AnalysisRootpleProducer.h.

Referenced by analyze(), and beginJob().

Handle< GenJetCollection > AnalysisRootpleProducer::ChgGenJetsHandle [private]

Definition at line 85 of file AnalysisRootpleProducer.h.

Referenced by analyze().

InputTag AnalysisRootpleProducer::chgGenPartCollName [private]

Definition at line 76 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

InputTag AnalysisRootpleProducer::chgJetCollName [private]

Definition at line 75 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

float AnalysisRootpleProducer::EtaCJ[NCJMAX] [private]

Definition at line 111 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillChargedJet().

float AnalysisRootpleProducer::EtaEHJ[NEHJMAX] [private]

Definition at line 113 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillCaloJet().

float AnalysisRootpleProducer::EtaIJ[NIJMAX] [private]

Definition at line 110 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillInclusiveJet().

float AnalysisRootpleProducer::EtaMC[NMCPMAX] [private]

Definition at line 108 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillMCParticles().

float AnalysisRootpleProducer::EtaTJ[NTJMAX] [private]

Definition at line 112 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracksJet().

float AnalysisRootpleProducer::EtaTK[NTKMAX] [private]

Definition at line 109 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracks().

int AnalysisRootpleProducer::EventKind [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by analyze(), beginJob(), and fillEventInfo().

Handle< HepMCProduct > AnalysisRootpleProducer::EvtHandle [private]

Definition at line 82 of file AnalysisRootpleProducer.h.

Referenced by analyze().

edm::Service<TFileService> AnalysisRootpleProducer::fs [private]

Definition at line 93 of file AnalysisRootpleProducer.h.

Referenced by beginJob().

InputTag AnalysisRootpleProducer::genJetCollName [private]

Definition at line 74 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

Handle< GenJetCollection > AnalysisRootpleProducer::GenJetsHandle [private]

Definition at line 84 of file AnalysisRootpleProducer.h.

Referenced by analyze().

TClonesArray* AnalysisRootpleProducer::InclusiveJet [private]

Definition at line 116 of file AnalysisRootpleProducer.h.

Referenced by analyze(), and beginJob().

InputTag AnalysisRootpleProducer::mcEvent [private]

Definition at line 73 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

float AnalysisRootpleProducer::MomentumCJ[NCJMAX] [private]

Definition at line 111 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillChargedJet().

float AnalysisRootpleProducer::MomentumEHJ[NEHJMAX] [private]

Definition at line 113 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillCaloJet().

float AnalysisRootpleProducer::MomentumIJ[NIJMAX] [private]

Definition at line 110 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillInclusiveJet().

float AnalysisRootpleProducer::MomentumMC[NMCPMAX] [private]

Definition at line 108 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillMCParticles().

float AnalysisRootpleProducer::MomentumTJ[NTJMAX] [private]

Definition at line 112 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracksJet().

float AnalysisRootpleProducer::MomentumTK[NTKMAX] [private]

Definition at line 109 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracks().

TClonesArray* AnalysisRootpleProducer::MonteCarlo [private]

Definition at line 115 of file AnalysisRootpleProducer.h.

Referenced by analyze(), and beginJob().

const int AnalysisRootpleProducer::NCJMAX = 10000 [static, private]

Definition at line 102 of file AnalysisRootpleProducer.h.

const int AnalysisRootpleProducer::NEHJMAX = 10000 [static, private]

Definition at line 104 of file AnalysisRootpleProducer.h.

const int AnalysisRootpleProducer::NIJMAX = 10000 [static, private]

Definition at line 101 of file AnalysisRootpleProducer.h.

const int AnalysisRootpleProducer::NMCPMAX = 10000 [static, private]

Definition at line 99 of file AnalysisRootpleProducer.h.

const int AnalysisRootpleProducer::NTJMAX = 10000 [static, private]

Definition at line 103 of file AnalysisRootpleProducer.h.

const int AnalysisRootpleProducer::NTKMAX = 10000 [static, private]

Definition at line 100 of file AnalysisRootpleProducer.h.

int AnalysisRootpleProducer::NumberCaloJet [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), beginJob(), fillCaloJet(), and store().

int AnalysisRootpleProducer::NumberChargedJet [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), beginJob(), fillChargedJet(), and store().

int AnalysisRootpleProducer::NumberInclusiveJet [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), beginJob(), fillInclusiveJet(), and store().

int AnalysisRootpleProducer::NumberMCParticles [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), beginJob(), fillMCParticles(), and store().

int AnalysisRootpleProducer::NumberTracks [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), beginJob(), fillTracks(), and store().

int AnalysisRootpleProducer::NumberTracksJet [private]

Definition at line 106 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), beginJob(), fillTracksJet(), and store().

bool AnalysisRootpleProducer::onlyRECO [private]

Definition at line 71 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

float AnalysisRootpleProducer::PhiCJ[NCJMAX] [private]

Definition at line 111 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillChargedJet().

float AnalysisRootpleProducer::PhiEHJ[NEHJMAX] [private]

Definition at line 113 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillCaloJet().

float AnalysisRootpleProducer::PhiIJ[NIJMAX] [private]

Definition at line 110 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillInclusiveJet().

float AnalysisRootpleProducer::PhiMC[NMCPMAX] [private]

Definition at line 108 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillMCParticles().

float AnalysisRootpleProducer::PhiTJ[NTJMAX] [private]

Definition at line 112 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracksJet().

float AnalysisRootpleProducer::PhiTK[NTKMAX] [private]

Definition at line 109 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracks().

float AnalysisRootpleProducer::piG [private]

Definition at line 95 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer().

InputTag AnalysisRootpleProducer::recoCaloJetCollName [private]

Definition at line 78 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

Handle< CaloJetCollection > AnalysisRootpleProducer::RecoCaloJetsHandle [private]

Definition at line 88 of file AnalysisRootpleProducer.h.

Referenced by analyze().

TClonesArray* AnalysisRootpleProducer::Track [private]

Definition at line 118 of file AnalysisRootpleProducer.h.

InputTag AnalysisRootpleProducer::tracksCollName [private]

Definition at line 79 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

TClonesArray* AnalysisRootpleProducer::TracksJet [private]

Definition at line 119 of file AnalysisRootpleProducer.h.

Referenced by analyze(), and beginJob().

InputTag AnalysisRootpleProducer::tracksJetCollName [private]

Definition at line 77 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().

Handle< BasicJetCollection > AnalysisRootpleProducer::TracksJetsHandle [private]

Definition at line 87 of file AnalysisRootpleProducer.h.

Referenced by analyze().

float AnalysisRootpleProducer::TransverseMomentumCJ[NCJMAX] [private]

Definition at line 111 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillChargedJet().

float AnalysisRootpleProducer::TransverseMomentumEHJ[NEHJMAX] [private]

Definition at line 113 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillCaloJet().

float AnalysisRootpleProducer::TransverseMomentumIJ[NIJMAX] [private]

Definition at line 110 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillInclusiveJet().

float AnalysisRootpleProducer::TransverseMomentumMC[NMCPMAX] [private]

Definition at line 108 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillMCParticles().

float AnalysisRootpleProducer::TransverseMomentumTJ[NTJMAX] [private]

Definition at line 112 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracksJet().

float AnalysisRootpleProducer::TransverseMomentumTK[NTKMAX] [private]

Definition at line 109 of file AnalysisRootpleProducer.h.

Referenced by beginJob(), and fillTracks().

TriggerNames AnalysisRootpleProducer::triggerNames [private]

Definition at line 91 of file AnalysisRootpleProducer.h.

Referenced by analyze().

Handle<TriggerResults> AnalysisRootpleProducer::triggerResults [private]

Definition at line 89 of file AnalysisRootpleProducer.h.

Referenced by analyze().

InputTag AnalysisRootpleProducer::triggerResultsTag [private]

Definition at line 80 of file AnalysisRootpleProducer.h.

Referenced by AnalysisRootpleProducer(), and analyze().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:14:39 2009 for CMSSW by  doxygen 1.5.4