28 |
|
/// MAX_STATIONS is set to 5 because the subsectors in ME 1 are handled |
29 |
|
/// as a separate station |
30 |
|
MAX_STATIONS = 5, |
31 |
< |
MAX_SECTORS = 6, |
31 |
> |
MAX_SECTORS = 12, |
32 |
|
MAX_CHAMBERS = 9 |
33 |
|
}; |
34 |
|
|
35 |
|
const TString stationLabel[MAX_STATIONS] = {"1a","1b","2","3","4"}; |
36 |
< |
const TString sectorLabel[MAX_SECTORS] = {"1","2","3","4","5","6"}; |
36 |
> |
const TString sectorLabel[12] = {"1","2","3","4","5","6", "7","8","9","10","11","12"}; |
37 |
|
const TString chamberLabel[MAX_CHAMBERS] = {"1","2","3","4","5","6","7","8","9"}; |
38 |
+ |
const TString SecOverLabel[11] = {"1b3-1a1","1b6-1a4","2S3-1","2S3-4","2S9-1","2S9-4", |
39 |
+ |
"3S3-1","3S3-4","3S9-1","3S9-4","4S3-1"}; |
40 |
+ |
const int MINSEC=0; |
41 |
+ |
const int MAXSEC=12; |
42 |
+ |
const int TIMINGSEC=3; // this only works for naive estimation now |
43 |
+ |
const int BX_START=3; // starting of hBX: 3 for MC and 0 for data |
44 |
+ |
const int ABSBX_START=10; // starting of hAbsBX: run#62232:797; run#63200:234; run62384:2500 |
45 |
+ |
const int NUMSEC=MAXSEC-MINSEC; |
46 |
|
|
47 |
|
class CSCTriggerMappingFromFile; |
48 |
|
|
59 |
|
|
60 |
|
private: |
61 |
|
|
62 |
< |
void initializeHistograms(); |
62 |
> |
void initializeHistograms(); |
63 |
|
void fillHistograms(edm::Handle<CSCCorrelatedLCTDigiCollection> corrlcts, |
64 |
< |
edm::Handle<L1CSCTrackCollection> tracks); |
64 |
> |
edm::Handle<L1CSCTrackCollection> tracks, |
65 |
> |
edm::Event const& e); |
66 |
|
|
67 |
|
void timingExtract(); |
68 |
< |
void initializeCanvases(); |
69 |
< |
void fillCanvases(); |
70 |
< |
void printCanvases(); |
68 |
> |
// void initializeCanvases(); |
69 |
> |
// void fillCanvases(); |
70 |
> |
// void printCanvases(); |
71 |
|
|
72 |
|
void deleteRootObjects(); |
73 |
|
void deleteHistograms(); |
74 |
|
void deleteCanvases(); |
75 |
< |
|
75 |
> |
int myBX(edm::Event const& event); |
76 |
|
bool testBeam; |
77 |
|
int TBFEDid, TBendcap, TBsector; |
78 |
|
std::string mapPath; |
80 |
|
int eventNumber; |
81 |
|
|
82 |
|
/* std::string day; */ |
83 |
+ |
edm::InputTag lctProducer, trackProducer; |
84 |
+ |
|
85 |
|
std::string run; |
86 |
< |
std::string outFile; |
86 |
> |
// std::string outFile; |
87 |
|
std::string timeFile; |
88 |
|
|
89 |
|
/// Root Objects |
90 |
|
|
91 |
|
/// File to store the generated hisograms |
92 |
< |
TFile* fAnalysis; |
92 |
> |
// TFile* fAnalysis; |
93 |
|
|
94 |
|
/// for output of const and error |
95 |
|
TFile* fTimingConst; |
96 |
|
|
97 |
< |
TH1I* hBX[MAX_SECTORS][MAX_STATIONS][MAX_CHAMBERS]; |
97 |
> |
/// for inter sector synchronization |
98 |
> |
TFile* fInterSector; |
99 |
> |
|
100 |
> |
/// for absolute BXN synchronization |
101 |
> |
TFile* fAbsBXN; |
102 |
> |
|
103 |
> |
// TH2F* hEndSec; |
104 |
> |
TH1I* hBX[NUMSEC][MAX_STATIONS][MAX_CHAMBERS]; |
105 |
> |
TH1I* hAbsBX[NUMSEC][MAX_STATIONS][MAX_CHAMBERS]; |
106 |
|
TH1I* hNumTracksPerEvent; |
107 |
+ |
TH1I* hBX0; |
108 |
|
TH1F* hTimingConstDirect; |
109 |
|
TH1F* hTimingConstA; |
110 |
|
TH1F* hTimingConstB; |
114 |
|
/// |
115 |
|
/// MAX_CHAMBERS-2 because there are that many boundaries between CSCs to |
116 |
|
/// account for in ME 234. In ME 1 there will be unused plots |
117 |
< |
TH1I* hBXDifference[MAX_SECTORS][MAX_STATIONS][MAX_CHAMBERS-2]; |
117 |
> |
TH1I* hBXDifference[NUMSEC][MAX_STATIONS][MAX_CHAMBERS-2]; |
118 |
|
|
119 |
|
/// BX difference between station 2 and 3 |
120 |
|
/// overlapping cscs in ME 2 and 3 |
121 |
< |
TH1I* hBXDifference23Overlap[MAX_SECTORS][MAX_CHAMBERS]; |
121 |
> |
TH1I* hBXDifference23Overlap[NUMSEC][MAX_CHAMBERS]; |
122 |
|
/// crossing cscs in ME 2 and 3 |
123 |
< |
TH1I* hBXDifference23Cross[MAX_SECTORS][2*MAX_CHAMBERS-4]; |
123 |
> |
TH1I* hBXDifference23Cross[NUMSEC][2*MAX_CHAMBERS-4]; |
124 |
|
/// non overlapping cscs in ME 2 and 3 |
125 |
< |
TH1I* hBXDifference23NonOverlap[MAX_SECTORS][MAX_CHAMBERS-3]; |
125 |
> |
TH1I* hBXDifference23NonOverlap[NUMSEC][MAX_CHAMBERS-3]; |
126 |
|
/// require "forward" muons |
127 |
|
|
128 |
|
/// BX difference between stations 1A and 2 |
129 |
|
/// ME 1A ring 1 |
130 |
< |
TH1I* hBXDifference1AR12[MAX_SECTORS][MAX_CHAMBERS-3]; |
130 |
> |
TH1I* hBXDifference1AR12[NUMSEC][MAX_CHAMBERS-3]; |
131 |
|
/// ME 1A ring 2/3 |
132 |
< |
TH1I* hBXDifference1AR232[MAX_SECTORS][MAX_CHAMBERS-3]; |
132 |
> |
TH1I* hBXDifference1AR232[NUMSEC][MAX_CHAMBERS-3]; |
133 |
|
|
134 |
|
/// BX difference between stations 1B and 2 |
135 |
|
/// ME 1B ring 1 |
136 |
< |
TH1I* hBXDifference1BR12[MAX_SECTORS][MAX_CHAMBERS-3]; |
136 |
> |
TH1I* hBXDifference1BR12[NUMSEC][MAX_CHAMBERS-3]; |
137 |
|
/// ME 1B ring 2/3 |
138 |
< |
TH1I* hBXDifference1BR232[MAX_SECTORS][MAX_CHAMBERS-3]; |
138 |
> |
TH1I* hBXDifference1BR232[NUMSEC][MAX_CHAMBERS-3]; |
139 |
> |
|
140 |
> |
/// BX difference within different rings in stations 1A |
141 |
> |
/// R1-R2 |
142 |
> |
TH1I* hBXDifference1AInR1R2[NUMSEC][7]; |
143 |
> |
/// R1-R3 |
144 |
> |
TH1I* hBXDifference1AInR1R3[NUMSEC][7]; |
145 |
> |
|
146 |
> |
/// BX difference within different rings in stations 1B |
147 |
> |
/// R1-R2 |
148 |
> |
TH1I* hBXDifference1BInR1R2[NUMSEC][7]; |
149 |
> |
/// R1-R3 |
150 |
> |
TH1I* hBXDifference1BInR1R3[NUMSEC][7]; |
151 |
> |
|
152 |
> |
/// BX difference within stations 1A abd 1B |
153 |
> |
TH1I* hBXDifference1AWith1B[NUMSEC][7]; |
154 |
> |
|
155 |
> |
|
156 |
> |
/// BX difference between station 3 and 4 |
157 |
> |
/// overlapping cscs in ME 3 and 4 |
158 |
> |
TH1I* hBXDifference34Overlap[NUMSEC][MAX_CHAMBERS]; |
159 |
> |
/// crossing cscs in ME 3 and 4 |
160 |
> |
TH1I* hBXDifference34Cross[NUMSEC][4]; |
161 |
> |
|
162 |
> |
/// BX differences between different sectors |
163 |
> |
TH1I* hBXDifferenceSector[NUMSEC][11]; |
164 |
> |
|
165 |
|
|
120 |
– |
|
166 |
|
/// Canvases to display the histograms once they are filled |
167 |
|
|
168 |
< |
TCanvas* cBX[MAX_SECTORS][MAX_STATIONS]; |
168 |
> |
TCanvas* cBX[NUMSEC][MAX_STATIONS]; |
169 |
|
TCanvas* cNumTracksPerEvent; |
170 |
|
TCanvas* cTimingConstA; |
171 |
|
TCanvas* cTimingConstB; |
172 |
|
TCanvas* cTimingConstDirect; |
173 |
|
TCanvas* cTimingComp; |
174 |
|
|
175 |
< |
TCanvas* cBXDifference[MAX_SECTORS][MAX_STATIONS]; |
175 |
> |
TCanvas* cBXDifference[NUMSEC][MAX_STATIONS]; |
176 |
|
|
177 |
|
/// Canvases for printing BX Difference between station 2 and 3 |
178 |
|
/// Overlapping cscs in stations 2 and 3 |
179 |
< |
TCanvas* cBXDifference23Overlap[MAX_SECTORS]; |
179 |
> |
TCanvas* cBXDifference23Overlap[NUMSEC]; |
180 |
|
/// Crossing cscs in stations 2 and 3 |
181 |
< |
TCanvas* cBXDifference23Cross[MAX_SECTORS]; |
181 |
> |
TCanvas* cBXDifference23Cross[NUMSEC]; |
182 |
|
/// Non-overlapping cscs in stations 2 and 3 |
183 |
< |
TCanvas* cBXDifference23NonOverlap[MAX_SECTORS]; |
183 |
> |
TCanvas* cBXDifference23NonOverlap[NUMSEC]; |
184 |
|
/// Canvases for printing BX differences between station 1A and 2 |
185 |
|
/// ME 1A ring 1 |
186 |
< |
TCanvas* cBXDifference1AR12[MAX_SECTORS]; |
186 |
> |
TCanvas* cBXDifference1AR12[NUMSEC]; |
187 |
|
/// ME 1A ring 2/3 |
188 |
< |
TCanvas* cBXDifference1AR232[MAX_SECTORS]; |
188 |
> |
TCanvas* cBXDifference1AR232[NUMSEC]; |
189 |
|
|
190 |
|
/// Canvases for printing BX differences between station 1B and 2 |
191 |
|
/// ME 1B ring 1 |
192 |
< |
TCanvas* cBXDifference1BR12[MAX_SECTORS]; |
192 |
> |
TCanvas* cBXDifference1BR12[NUMSEC]; |
193 |
|
/// ME 1B ring 2/3 |
194 |
< |
TCanvas* cBXDifference1BR232[MAX_SECTORS]; |
194 |
> |
TCanvas* cBXDifference1BR232[NUMSEC]; |
195 |
> |
|
196 |
> |
/// Canvases for printing BX differences within station 1A |
197 |
> |
/// R1R2 |
198 |
> |
TCanvas* cBXDifference1AInR1R2[NUMSEC]; |
199 |
> |
/// R1R3 |
200 |
> |
TCanvas* cBXDifference1AInR1R3[NUMSEC]; |
201 |
> |
|
202 |
> |
/// Canvases for printing BX differences within station 1B |
203 |
> |
/// R1R2 |
204 |
> |
TCanvas* cBXDifference1BInR1R2[NUMSEC]; |
205 |
> |
/// R1R3 |
206 |
> |
TCanvas* cBXDifference1BInR1R3[NUMSEC]; |
207 |
> |
|
208 |
> |
/// Canvases for printing BX differences of station 1A and 1B |
209 |
> |
TCanvas* cBXDifference1AWith1B[NUMSEC]; |
210 |
> |
|
211 |
|
|
212 |
|
}; |
213 |
|
|