ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/DTDPGAnalysis/src/DTOfflineAnalyzer.h
Revision: 1.3
Committed: Thu Jul 4 17:17:00 2013 UTC (11 years, 10 months ago) by marycruz
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +10 -0 lines
Error occurred while calculating annotation data.
Log Message:
Update last version of PromptOffline

File Contents

# Content
1 #ifndef DTOFFLINEANALYZER_H
2 #define DTOFFLINEANALYZER_H
3
4 /** \class DTOfflineAnalyzer
5 *
6 * Description:
7 *
8 * detailed description
9 *
10 * \author : Stefano Lacaprara - INFN Padova <stefano.lacaprara@pd.infn.it>
11 * $date : 20/11/2006 16:51:04 CET $
12 *
13 * Modification:
14 *
15 */
16
17 /* Base Class Headers */
18 #include "FWCore/Framework/interface/EDAnalyzer.h"
19 namespace edm {
20 class ParameterSet;
21 class Event;
22 class EventSetup;
23 }
24
25 /* Collaborating Class Declarations */
26 #include "DataFormats/Common/interface/Handle.h"
27 class TFile;
28 class DQMStore;
29 class TH1F;
30 class TH2F;
31 class DTLayerId;
32 class DTSuperLayerId;
33 class DTChamberId;
34 class DTTTrigBaseSync;
35 class Propagator;
36
37 /* C++ Headers */
38 #include <iosfwd>
39 #include <bitset>
40
41 /* ====================================================================== */
42
43 /* Class DTOfflineAnalyzer Interface */
44
45 class DTOfflineAnalyzer : public edm::EDAnalyzer {
46
47 public:
48
49 /* Constructor */
50 DTOfflineAnalyzer(const edm::ParameterSet& pset) ;
51
52 /* Destructor */
53 ~DTOfflineAnalyzer() ;
54
55 /* Operations */
56 void analyze(const edm::Event & event, const edm::EventSetup& eventSetup);
57
58 private:
59 void analyzeDTHits(const edm::Event & event, const edm::EventSetup& eventSetup);
60 void analyzeDTSegments(const edm::Event & event, const edm::EventSetup& eventSetup);
61 void analyzeSATrack(const edm::Event & event, const edm::EventSetup& eventSetup);
62 void analyzeTrigger(const edm::Event & event, const edm::EventSetup& eventSetup);
63 void LabelTriggerMatrix();
64
65 TH1F* histo(const std::string& name) const;
66 TH2F* histo2d(const std::string& name) const;
67
68 void createTH1F(const std::string& name,
69 const std::string& title,
70 const std::string& suffix,
71 int nbin, const double& binMin, const double& binMax) const;
72
73 void createTH2F(const std::string& name,
74 const std::string& title,
75 const std::string& suffix,
76 int nBinX,
77 const double& binXMin,
78 const double& binXMax,
79 int nBinY,
80 const double& binYMin,
81 const double& binYMax) const ;
82
83 enum LCTType { DT, CSC, RPC_W1, RPC_W2 };
84 bool getLCT(LCTType) const;
85 bool selectEvent() const ;
86
87 std::string toString(const DTLayerId& id) const;
88 std::string toString(const DTSuperLayerId& id) const;
89 std::string toString(const DTChamberId& id) const;
90 template<class T> std::string hName(const std::string& s, const T& id) const;
91 private:
92 bool LCT_RPC, LCT_DT, LCT_CSC;
93 bool debug;
94 int _ev;
95 std::string theRootFileName;
96 // TFile* theFile;
97 DQMStore *theDQMStore;
98 //static std::string theAlgoName;
99 int sects[5][12];
100 std::string theDTLocalTriggerLabel;
101 std::string theRecHits4DLabel;
102 std::string theRecHits2DLabel;
103 std::string theRecHits1DLabel;
104 std::string theSTAMuonLabel;
105 std::string thePropagatorName;
106
107 mutable Propagator* thePropagator;
108
109 bool mc;
110
111 bool doHits;
112 bool doSegs;
113 bool doSA;
114 bool doTrig;
115 bool doTBox;
116 bool doTBoxWhm2;
117 bool doTBoxWhm1;
118 bool doTBoxWh0;
119 bool doTBoxWh1;
120 bool doTBoxWh2;
121
122 bool doWheel[5];
123 bool doTBoxWheel[5];
124 int doTBoxSector;
125 int doTBoxChamber;
126 int doTBoxSuperLayer;
127 int doTBoxLayer;
128
129 bool init;
130 std::bitset<6> LCT;
131
132 DTTTrigBaseSync *theSync;
133
134 protected:
135
136 };
137 #endif // DTOFFLINEANALYZER_H
138