CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/DQMOffline/PFTau/interface/CandidateBenchmark.h

Go to the documentation of this file.
00001 #ifndef RecoParticleFlow_Benchmark_CandidateBenchmark_h
00002 #define RecoParticleFlow_Benchmark_CandidateBenchmark_h
00003 
00004 #include "DQMOffline/PFTau/interface/Benchmark.h"
00005 
00006 #include "DataFormats/Candidate/interface/CandidateFwd.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00010 class CandidateBenchmark : public Benchmark {
00011 
00012  public:
00013 
00014 
00015   CandidateBenchmark(Mode mode);
00016   virtual ~CandidateBenchmark();
00017 
00019   void setup();
00021   void setup(const edm::ParameterSet& parameterSet);
00022 
00023   template< class C>
00024   void fill( const C& candidates); 
00025   
00027   void fillOne( const reco::Candidate& candidate); 
00028 
00029  protected:
00030   
00031 
00032   TH1F*   pt_; 
00033   TH1F*   eta_; 
00034   TH1F*   phi_; 
00035   TH1F*   charge_;
00037   TH1F*   pdgId_; 
00038 
00039   bool histogramBooked_;
00040 };
00041 
00042 template< class C>
00043 void CandidateBenchmark::fill(const C& candCollection) {
00044 
00045   for (unsigned int i = 0; i < candCollection.size(); i++) {
00046     const reco::Candidate& cand = candCollection[i];
00047     fillOne(cand);
00048   }
00049 }
00050 
00051 
00052 #endif