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 
14 //#include "CalibMuon/DTCalibration/plugins/vDriftHistos.h"
16 //#include "CalibMuon/DTCalibration/plugins/DTTMax.h"
21 #include <string>
22 #include <vector>
23 
24 
25 namespace edm {
26  class ParameterSet;
27  class Event;
28  class EventSetup;
29 }
30 
31 class TFile;
32 class DTMeanTimerFitter;
33 
35 public:
38 
40  virtual ~DTVDriftCalibration();
41 
42  // Operations
43 
44  void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
45 
46  void endJob();
47 
48 protected:
49 
50 private:
51 
52  // The class containing TMax information
53  typedef DTTMax::TMax TMax;
54 
55  // class to create/manage histos for each partition (SL)
56  class cellInfo{
57  public:
58  cellInfo(TString name) {
59  histos = new hTMaxCell(name);
60  }
61 
63  delete histos;
64  }
65 
66  void add(std::vector<const TMax*> tMaxes);
67  void update() {addedCells.clear();}
68  hTMaxCell* getHists() {return histos;}
69 
70  private:
71  cellInfo(){};
72  cellInfo(const cellInfo&){};
73 
74  std::vector<dttmaxenums::TMaxCells> addedCells;
76  };
77 
81 
82 // //Divide cellInfo by given granularity (to be implemented)
83 // DTVDriftCalibration::cellInfo* partition(const DTWireId& wireId);
84 
85  // Specify the granularity for the TMax histograms
88 
89  // The label used to retrieve 4D segments from the event
90  std::string theRecHits4DLabel;
91 
92  // Debug flag
93  bool debug;
94 
95  // The label used to retrieve digis from the event
96  std::string digiLabel;
97 
98  // The file which will contain the tMax histograms
99  TFile *theFile;
100 
101  // The fitter
103 
104  // Perform the vDrift and t0 evaluation or just fill the
105  // tMaxHists (if you read the dataset in different jobs)
107 
108  // The name of the output text file
109  std::string theVDriftOutputFile;
110 
111  // Map of wires and cellInfo with coarse granularity
112  std::map<DTWireId, cellInfo*> theWireIdAndCellMap;
113 
114  // Switch for checking of noisy channels
116 
117  // The module for t0 subtraction
118  DTTTrigBaseSync *theSync;//FIXME: should be const
119 
120  // parameter set for DTCalibrationMap constructor
122 
123  // Maximum value for the 4D Segment chi2
124  double theMaxChi2;
125 
126  // Maximum incident angle for Phi Seg
128 
129  // Maximum incident angle for Theta Seg
130  double theMaxZAngle;
131 
132  // Choose the chamber you want to calibrate
133  std::string theCalibChamber;
134 
135 };
136 #endif
137 
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
tuple pset
Definition: CrabTask.py:85
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.
DTMeanTimerFitter * theFitter
DTVDriftCalibration(const edm::ParameterSet &pset)
Constructor.
std::vector< dttmaxenums::TMaxCells > addedCells
DTTTrigBaseSync * theSync
void add(std::vector< const TMax * > tMaxes)