CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTVDriftCalibration.h
Go to the documentation of this file.
1 #ifndef DTVDriftCalibration_H
2 #define DTVDriftCalibration_H
3 
16 
20 
21 #include "DTCalibrationMap.h"
22 
23 #include <string>
24 #include <vector>
25 
26 namespace edm {
27  class ParameterSet;
28  class Event;
29  class EventSetup;
30 }
31 
32 class TFile;
33 class DTMeanTimerFitter;
34 
36 public:
39 
41  virtual ~DTVDriftCalibration();
42 
43  // Operations
44 
45  void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
46 
47  void endJob();
48 
49 protected:
50 
51 private:
52 
54 
55  // The class containing TMax information
56  typedef DTTMax::TMax TMax;
57 
58  // class to create/manage histos for each partition (SL)
59  class cellInfo{
60  public:
61  cellInfo(const TString& name) {
62  histos = new hTMaxCell(name);
63  }
64 
66  delete histos;
67  }
68 
69  void add(const std::vector<const TMax*>& tMaxes);
70  void update() {addedCells.clear();}
71  hTMaxCell* getHists() {return histos;}
72 
73  private:
74  cellInfo(){};
75  cellInfo(const cellInfo&){};
76 
77  std::vector<dttmaxenums::TMaxCells> addedCells;
79  };
80 
84 
85  // Divide cellInfo by given granularity (to be implemented)
86  // DTVDriftCalibration::cellInfo* partition(const DTWireId& wireId);
87 
88  // Specify the granularity for the TMax histograms
91 
92  // The label used to retrieve 4D segments from the event
94 
95  // Debug flag
96  bool debug;
97 
98  // The label used to retrieve digis from the event
100 
101  // The file which will contain the tMax histograms
102  TFile *theFile;
103 
104  // The fitter
106 
107  // Perform the vDrift and t0 evaluation or just fill the
108  // tMaxHists (if you read the dataset in different jobs)
110 
111  // The name of the output text file
113 
114  // Map of wires and cellInfo with coarse granularity
115  std::map<DTWireId, cellInfo*> theWireIdAndCellMap;
116 
117  // Switch for checking of noisy channels
118  //bool checkNoisyChannels;
119 
120  // The module for t0 subtraction
121  DTTTrigBaseSync *theSync;//FIXME: should be const
122 
123  // parameter set for DTCalibrationMap constructor
125 
126  // Maximum value for the 4D Segment chi2
127  //double theMaxChi2;
128 
129  // Maximum incident angle for Phi Seg
130  //double theMaxPhiAngle;
131 
132  // Maximum incident angle for Theta Seg
133  //double theMaxZAngle;
134 
135  // Choose the chamber you want to calibrate
137 
138 };
139 #endif
140 
TMaxGranularity theGranularity
Information on each of the four TMax values in a SL.
Definition: DTTMax.h:48
std::map< DTWireId, cellInfo * > theWireIdAndCellMap
edm::ParameterSet theCalibFilePar
void add(const std::vector< const TMax * > &tMaxes)
void analyze(const edm::Event &event, const edm::EventSetup &eventSetup)
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
virtual ~DTVDriftCalibration()
Destructor.
DTSegmentSelector select_
DTMeanTimerFitter * theFitter
DTVDriftCalibration(const edm::ParameterSet &pset)
Constructor.
std::vector< dttmaxenums::TMaxCells > addedCells
DTTTrigBaseSync * theSync
edm::InputTag theRecHits4DLabel