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 |
|
|
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=6; |
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=0; // starting of hAbsBX: run#62232:797; run#63200:234; run62384:2500 |
45 |
|
const int NUMSEC=MAXSEC-MINSEC; |
46 |
|
|
47 |
|
class CSCTriggerMappingFromFile; |
64 |
|
edm::Handle<L1CSCTrackCollection> tracks); |
65 |
|
|
66 |
|
void timingExtract(); |
67 |
< |
void initializeCanvases(); |
68 |
< |
void fillCanvases(); |
69 |
< |
void printCanvases(); |
67 |
> |
// void initializeCanvases(); |
68 |
> |
// void fillCanvases(); |
69 |
> |
// void printCanvases(); |
70 |
|
|
71 |
|
void deleteRootObjects(); |
72 |
|
void deleteHistograms(); |
73 |
|
void deleteCanvases(); |
74 |
< |
|
74 |
> |
int myBX(edm::Event& event); |
75 |
|
bool testBeam; |
76 |
|
int TBFEDid, TBendcap, TBsector; |
77 |
|
std::string mapPath; |
96 |
|
/// for inter sector synchronization |
97 |
|
TFile* fInterSector; |
98 |
|
|
99 |
+ |
/// for absolute BXN synchronization |
100 |
+ |
TFile* fAbsBXN; |
101 |
+ |
|
102 |
+ |
// TH2F* hEndSec; |
103 |
|
TH1I* hBX[NUMSEC][MAX_STATIONS][MAX_CHAMBERS]; |
104 |
+ |
TH1I* hAbsBX[NUMSEC][MAX_STATIONS][MAX_CHAMBERS]; |
105 |
|
TH1I* hNumTracksPerEvent; |
106 |
+ |
TH1I* hBX0; |
107 |
|
TH1F* hTimingConstDirect; |
108 |
|
TH1F* hTimingConstA; |
109 |
|
TH1F* hTimingConstB; |