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