CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripMonitorTrack.h
Go to the documentation of this file.
1 
2 #ifndef SiStripMonitorTrack_H
3 #define SiStripMonitorTrack_H
4 
5 // system include files
6 #include <memory>
7 #include <fstream>
8 #include <iostream>
9 #include <vector>
10 #include <string>
11 
12 // user include files
21 
25 
33 
38 
42 
44 
45 //******** Single include for the TkMap *************
47 //***************************************************
48 
49 class SiStripDCSStatus;
51 //
52 // class declaration
53 //
54 
56 public:
58  enum RecHitType { Single=0, Matched=1, Projected=2, Null=3};
59  explicit SiStripMonitorTrack(const edm::ParameterSet&);
61  virtual void beginRun(const edm::Run& run, const edm::EventSetup& c);
62  virtual void endJob(void);
63  virtual void analyze(const edm::Event&, const edm::EventSetup&);
64 
65 private:
66  enum ClusterFlags {
69  };
70  //booking
71  void book();
72  void bookModMEs(const uint32_t& );
73  void bookLayerMEs(const uint32_t&, std::string&);
74  void bookSubDetMEs(std::string& name);
75  MonitorElement * bookME1D(const char*, const char*);
76  MonitorElement * bookME2D(const char*, const char*);
77  MonitorElement * bookME3D(const char*, const char*);
78  MonitorElement * bookMEProfile(const char*, const char*);
79  MonitorElement * bookMETrend(const char*, const char*);
80  // internal evaluation of monitorables
81  void AllClusters(const edm::Event& ev, const edm::EventSetup& es);
82  void trackStudy(const edm::Event& ev, const edm::EventSetup& es);
83  // LocalPoint project(const GeomDet *det,const GeomDet* projdet,LocalPoint position,LocalVector trackdirection)const;
84  bool clusterInfos(SiStripClusterInfo* cluster, const uint32_t& detid,enum ClusterFlags flags, LocalVector LV);
85  template <class T> void RecHitInfo(const T* tkrecHit, LocalVector LV,reco::TrackRef track_ref, const edm::EventSetup&);
86 
87  // fill monitorables
88  void fillModMEs(SiStripClusterInfo*,std::string,float);
89  void fillMEs(SiStripClusterInfo*,uint32_t detid,float,enum ClusterFlags);
90  inline void fillME(MonitorElement* ME,float value1){if (ME!=0)ME->Fill(value1);}
91  inline void fillME(MonitorElement* ME,float value1,float value2){if (ME!=0)ME->Fill(value1,value2);}
92  inline void fillME(MonitorElement* ME,float value1,float value2,float value3){if (ME!=0)ME->Fill(value1,value2,value3);}
93  inline void fillME(MonitorElement* ME,float value1,float value2,float value3,float value4){if (ME!=0)ME->Fill(value1,value2,value3,value4);}
94 
95  void getSubDetTag(std::string& folder_name, std::string& tag);
96  // ----------member data ---------------------------
97 
98 private:
101  std::string histname;
103  float iOrbitSec;
104 
105  //******* TkHistoMaps
107  //******** TkHistoMaps
108 
109  struct ModMEs{
116  };
117 
118  struct LayerMEs{
129  };
130  struct SubDetMEs{
140 
141  };
142  std::map<std::string, ModMEs> ModMEsMap;
143  std::map<std::string, LayerMEs> LayerMEsMap;
144  std::map<std::string, SubDetMEs> SubDetMEsMap;
145 
148 
151 
152  bool Mod_On_;
153  bool Trend_On_;
156  bool ring_flag;
158 
162  bool layerston;
167 
168  std::string TrackProducer_;
169  std::string TrackLabel_;
170 
171  std::vector<uint32_t> ModulesToBeExcluded_;
172  std::vector<const SiStripCluster*> vPSiStripCluster;
175  bool flag_ring;
178 
184 
188 };
189 #endif
bool clusterInfos(SiStripClusterInfo *cluster, const uint32_t &detid, enum ClusterFlags flags, LocalVector LV)
void fillME(MonitorElement *ME, float value1, float value2, float value3)
TkHistoMap * tkhisto_NumOffTrack
SiStripMonitorTrack(const edm::ParameterSet &)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
void trackStudy(const edm::Event &ev, const edm::EventSetup &es)
void fillME(MonitorElement *ME, float value1)
SiStripDCSStatus * dcsStatus_
void AllClusters(const edm::Event &ev, const edm::EventSetup &es)
void bookLayerMEs(const uint32_t &, std::string &)
edm::ParameterSet conf_
std::vector< Variable::Flags > flags
Definition: MVATrainer.cc:135
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
void fillMEs(SiStripClusterInfo *, uint32_t detid, float, enum ClusterFlags)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void bookSubDetMEs(std::string &name)
void fillME(MonitorElement *ME, float value1, float value2)
void Fill(long long x)
Definition: ME.h:11
math::XYZTLorentzVectorD LV
void fillME(MonitorElement *ME, float value1, float value2, float value3, float value4)
std::map< std::string, SubDetMEs > SubDetMEsMap
void fillModMEs(SiStripClusterInfo *, std::string, float)
std::vector< const SiStripCluster * > vPSiStripCluster
edm::ESHandle< TrackerGeometry > tkgeom
SiStripFolderOrganizer folderOrganizer_
MonitorElement * bookMETrend(const char *, const char *)
void getSubDetTag(std::string &folder_name, std::string &tag)
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
std::map< std::string, ModMEs > ModMEsMap
TkHistoMap * tkhisto_NumOnTrack
GenericTriggerEventFlag * genTriggerEventFlag_
virtual void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * bookME2D(const char *, const char *)
MonitorElement * bookMEProfile(const char *, const char *)
MonitorElement * bookME3D(const char *, const char *)
TkHistoMap * tkhisto_StoNCorrOnTrack
std::vector< uint32_t > ModulesToBeExcluded_
virtual void endJob(void)
void bookModMEs(const uint32_t &)
edm::ParameterSet Parameters
MonitorElement * bookME1D(const char *, const char *)
long double T
Definition: Run.h:33
std::map< std::string, LayerMEs > LayerMEsMap
void RecHitInfo(const T *tkrecHit, LocalVector LV, reco::TrackRef track_ref, const edm::EventSetup &)