CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MTVHistoProducerAlgo.h
Go to the documentation of this file.
1 #ifndef Validation_RecoTrack_MTVHistoProducerAlgo_h
2 #define Validation_RecoTrack_MTVHistoProducerAlgo_h
3 
4 /* \author B.Mangano, UCSD
5  *
6  * Base class which defines the interface of a generic HistoProducerAlogs
7  * to be used within the MultiTrackValidator module.
8  * The concrete algorithms will be plugged into the MTV to produce all
9  * the validation plots that the user wants.
10  */
12 
15 
18 
21 
22 #include <TH1F.h>
23 #include <TH2F.h>
24 
26  public:
27 
29 
30  // to be implemented in the concrete classes
31  virtual void initialize()=0;
32 
33  void setDQMStore(DQMStore* dbe) {dbe_ = dbe;}
34 
35  virtual void bookSimHistos()=0;
36  virtual void bookRecoHistos()=0;
37  virtual void bookRecoHistosForStandaloneRunning()=0;
38 
40 
42  const TrackingParticle& tp,
43  ParticleBase::Vector momentumTP,ParticleBase::Point vertexTP,
44  double dxy, double dz, int nSimHits,
45  const reco::Track* track)=0;
46 
47  virtual void fill_generic_recoTrack_histos(int count,
48  const reco::Track& track,
49  math::XYZPoint bsPosition,
50  bool isMatched)=0;
51 
52  virtual void fill_dedx_recoTrack_histos(int count, edm::RefToBase<reco::Track>& trackref, std::vector< edm::ValueMap<reco::DeDxData> > v_dEdx)=0;
53  // virtual void fill_dedx_recoTrack_histos(reco::TrackRef trackref, std::vector< edm::ValueMap<reco::DeDxData> > v_dEdx)=0;
54 
56  const reco::Track& track)=0;
57 
59  ParticleBase::Vector momentumTP,
60  ParticleBase::Point vertexTP,
61  int chargeTP,
62  const reco::Track& track,
63  math::XYZPoint bsPosition)=0;
64 
65  virtual void finalHistoFits(int counter)=0;
66 
67 
68  virtual void fillHistosFromVectors(int counter)=0;
69  virtual void fillProfileHistosFromVectors(int counter)=0;
70 
71 
72  protected:
73  //protected functions
74 
75  virtual double getEta(double eta)=0;
76 
77  virtual double getPt(double pt)=0;
78 
79  void doProfileX(TH2 * th2, MonitorElement* me);
80 
82  doProfileX(th2m->getTH2F(), me);
83  }
84 
85  void fillPlotFromVector(MonitorElement* h, std::vector<int>& vec);
86 
88  std::vector<int>& numerator,
89  std::vector<int>& denominator,
90  std::string type);
91 
92  void BinLogX(TH1*h);
93 
95  private:
96  //private data members
98 
99 
100 };
101 
102 #endif
type
Definition: HCALResponse.h:22
void fillPlotFromVectors(MonitorElement *h, std::vector< int > &numerator, std::vector< int > &denominator, std::string type)
void doProfileX(TH2 *th2, MonitorElement *me)
void fillPlotFromVector(MonitorElement *h, std::vector< int > &vec)
void doProfileX(MonitorElement *th2m, MonitorElement *me)
virtual void fill_dedx_recoTrack_histos(int count, edm::RefToBase< reco::Track > &trackref, std::vector< edm::ValueMap< reco::DeDxData > > v_dEdx)=0
MTVHistoProducerAlgo(const edm::ParameterSet &pset)
virtual void bookSimHistos()=0
const edm::ParameterSet & pset_
virtual double getEta(double eta)=0
math::XYZVectorD Vector
point in the space
Definition: ParticleBase.h:31
T eta() const
void setDQMStore(DQMStore *dbe)
virtual void bookRecoHistos()=0
virtual void fill_ResoAndPull_recoTrack_histos(int count, ParticleBase::Vector momentumTP, ParticleBase::Point vertexTP, int chargeTP, const reco::Track &track, math::XYZPoint bsPosition)=0
math::XYZPointD Point
point in the space
Definition: ParticleBase.h:29
virtual void fill_generic_recoTrack_histos(int count, const reco::Track &track, math::XYZPoint bsPosition, bool isMatched)=0
virtual void fillProfileHistosFromVectors(int counter)=0
virtual void initialize()=0
virtual void fill_generic_simTrack_histos(int counter, ParticleBase::Vector, ParticleBase::Point vertex)=0
virtual void finalHistoFits(int counter)=0
virtual void fill_simAssociated_recoTrack_histos(int count, const reco::Track &track)=0
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
virtual void fillHistosFromVectors(int counter)=0
virtual double getPt(double pt)=0
virtual void bookRecoHistosForStandaloneRunning()=0
TH2F * getTH2F(void) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
virtual void fill_recoAssociated_simTrack_histos(int count, const TrackingParticle &tp, ParticleBase::Vector momentumTP, ParticleBase::Point vertexTP, double dxy, double dz, int nSimHits, const reco::Track *track)=0