CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTSegmentAnalysisTask.h
Go to the documentation of this file.
1 
2 #ifndef DTSegmentAnalysisTask_H
3 #define DTSegmentAnalysisTask_H
4 
23 
27 
29 
30 //RecHit
32 
33 #include <string>
34 #include <map>
35 #include <vector>
36 
37 
38 class DTGeometry;
39 class DQMStore;
40 class MonitorElement;
42 
44 
45 
46 public:
49 
51  virtual ~DTSegmentAnalysisTask();
52 
54  void dqmBeginRun(const edm::Run& , const edm::EventSetup&);
55 
56  // Operations
57  void analyze(const edm::Event& event, const edm::EventSetup& setup);
58 
60  void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup);
61  void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup);
62 
63 
64 protected:
65 
66  // Book the histograms
67  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
68 
69 private:
70 
71  // Switch for detailed analysis
73 
74  // Get the DT Geometry
76 
77  // Lable of 4D segments in the event
79 
80  // Get the map of noisy channels
82 
84 
85  // book the histos
86  void bookHistos(DQMStore::IBooker & ibooker, DTChamberId chamberId);
87  // Fill a set of histograms for a given chamber
88  void fillHistos(DTChamberId chamberId,
89  int nHits,
90  float chi2);
91 
92  // the histos
93  std::map<DTChamberId, std::vector<MonitorElement*> > histosPerCh;
94  std::map< int, MonitorElement* > summaryHistos;
95  std::map<int, std::map<int, DTTimeEvolutionHisto*> > histoTimeEvol;
96 
97  int nevents;
100 
101  // # of bins in the time histos
103  // # of LS per bin in the time histos
105  // switch on/off sliding bins in time histos
107  // top folder for the histograms in DQMStore
109  // hlt DQM mode
111  // max phi angle of reconstructed segments
112  double phiSegmCut;
113  // min # hits of segment used to validate a segment in WB+-2/SecX/MB1
114  int nhitsCut;
115 
117 
118 };
119 #endif
120 
121 
122 /* Local Variables: */
123 /* show-trailing-whitespace: t */
124 /* truncate-lines: t */
125 /* End: */
void fillHistos(DTChamberId chamberId, int nHits, float chi2)
void analyze(const edm::Event &event, const edm::EventSetup &setup)
DTTimeEvolutionHisto * hNevtPerLS
std::map< int, MonitorElement * > summaryHistos
std::map< DTChamberId, std::vector< MonitorElement * > > histosPerCh
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::ParameterSet parameters
void bookHistos(DQMStore::IBooker &ibooker, DTChamberId chamberId)
edm::ESHandle< DTGeometry > dtGeom
void dqmBeginRun(const edm::Run &, const edm::EventSetup &)
BeginRun.
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &eSetup)
Summary.
virtual ~DTSegmentAnalysisTask()
Destructor.
MonitorElement * nEventMonitor
std::map< int, std::map< int, DTTimeEvolutionHisto * > > histoTimeEvol
edm::EDGetTokenT< DTRecSegment4DCollection > recHits4DToken_
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &eSetup)
DTSegmentAnalysisTask(const edm::ParameterSet &pset)
Constructor.
Definition: Run.h:43