ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/wangdy/TimingCSC/interface/CSCTimingAnalyzer.h
(Generate patch)

Comparing UserCode/wangdy/TimingCSC/interface/CSCTimingAnalyzer.h (file contents):
Revision 1.6 by wangdy, Wed Nov 7 17:44:58 2007 UTC vs.
Revision 1.13 by wangdy, Tue Sep 30 10:19:18 2008 UTC

# Line 28 | Line 28 | enum
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=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=797; // starting of hAbsBX: run#62232:797; run#63200:234; run62384:2500
45 + const int NUMSEC=MAXSEC-MINSEC;
46  
47   class CSCTriggerMappingFromFile;
48  
# Line 54 | Line 59 | public:
59      
60   private:
61          
62 <        void initializeHistograms();
62 >    void initializeHistograms();
63      void fillHistograms(edm::Handle<CSCCorrelatedLCTDigiCollection> corrlcts,
64                          edm::Handle<L1CSCTrackCollection> tracks);
65      
# Line 66 | Line 71 | private:
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;
# Line 88 | Line 93 | private:
93      /// for output of const and error
94      TFile* fTimingConst;    
95  
96 <    TH1I* hBX[MAX_SECTORS][MAX_STATIONS][MAX_CHAMBERS];
96 >    /// for inter sector synchronization
97 >    TFile* fInterSector;
98 >
99 >    /// for absolute BXN  synchronization
100 >    TFile* fAbsBXN;
101 >
102 >    TH1I* hBX[NUMSEC][MAX_STATIONS][MAX_CHAMBERS];
103 >    TH1I* hAbsBX[NUMSEC][MAX_STATIONS][MAX_CHAMBERS];
104      TH1I* hNumTracksPerEvent;
105 +    TH1I* hBX0;
106      TH1F* hTimingConstDirect;
107      TH1F* hTimingConstA;
108      TH1F* hTimingConstB;
# Line 99 | Line 112 | private:
112      ///
113      /// MAX_CHAMBERS-2 because there are that many boundaries between CSCs to
114      /// account for in ME 234. In ME 1 there will be unused plots
115 <    TH1I* hBXDifference[MAX_SECTORS][MAX_STATIONS][MAX_CHAMBERS-2];
115 >    TH1I* hBXDifference[NUMSEC][MAX_STATIONS][MAX_CHAMBERS-2];
116      
117      /// BX difference between station 2 and 3
118      /// overlapping cscs in ME 2 and 3
119 <    TH1I* hBXDifference23Overlap[MAX_SECTORS][MAX_CHAMBERS];
119 >    TH1I* hBXDifference23Overlap[NUMSEC][MAX_CHAMBERS];
120      /// crossing cscs in ME 2 and 3
121 <    TH1I* hBXDifference23Cross[MAX_SECTORS][2*MAX_CHAMBERS-4];
121 >    TH1I* hBXDifference23Cross[NUMSEC][2*MAX_CHAMBERS-4];
122      /// non overlapping cscs in ME 2 and 3
123 <    TH1I* hBXDifference23NonOverlap[MAX_SECTORS][MAX_CHAMBERS-3];
123 >    TH1I* hBXDifference23NonOverlap[NUMSEC][MAX_CHAMBERS-3];
124      /// require "forward" muons
125  
126      /// BX difference between stations 1A and 2
127      /// ME 1A ring 1
128 <    TH1I* hBXDifference1AR12[MAX_SECTORS][MAX_CHAMBERS-3];
128 >    TH1I* hBXDifference1AR12[NUMSEC][MAX_CHAMBERS-3];
129      /// ME 1A ring 2/3
130 <    TH1I* hBXDifference1AR232[MAX_SECTORS][MAX_CHAMBERS-3];
130 >    TH1I* hBXDifference1AR232[NUMSEC][MAX_CHAMBERS-3];
131  
132      /// BX difference between stations 1B and 2
133      /// ME 1B ring 1
134 <    TH1I* hBXDifference1BR12[MAX_SECTORS][MAX_CHAMBERS-3];
134 >    TH1I* hBXDifference1BR12[NUMSEC][MAX_CHAMBERS-3];
135      /// ME 1B ring 2/3
136 <    TH1I* hBXDifference1BR232[MAX_SECTORS][MAX_CHAMBERS-3];
136 >    TH1I* hBXDifference1BR232[NUMSEC][MAX_CHAMBERS-3];
137  
138      /// BX difference within different rings in  stations 1A
139      /// R1-R2
140 <    TH1I* hBXDifference1AInR1R2[MAX_SECTORS][7];
140 >    TH1I* hBXDifference1AInR1R2[NUMSEC][7];
141      /// R1-R3
142 <    TH1I* hBXDifference1AInR1R3[MAX_SECTORS][7];
142 >    TH1I* hBXDifference1AInR1R3[NUMSEC][7];
143  
144      /// BX difference within different rings in  stations 1B
145      /// R1-R2
146 <    TH1I* hBXDifference1BInR1R2[MAX_SECTORS][7];
146 >    TH1I* hBXDifference1BInR1R2[NUMSEC][7];
147      /// R1-R3
148 <    TH1I* hBXDifference1BInR1R3[MAX_SECTORS][7];
148 >    TH1I* hBXDifference1BInR1R3[NUMSEC][7];
149      
150      /// BX difference within stations 1A abd 1B
151 <    TH1I* hBXDifference1AWith1B[MAX_SECTORS][7];
151 >    TH1I* hBXDifference1AWith1B[NUMSEC][7];
152 >
153 >
154 >    /// BX difference between station 3 and 4
155 >    /// overlapping cscs in ME 3 and 4
156 >    TH1I* hBXDifference34Overlap[NUMSEC][MAX_CHAMBERS];
157 >    /// crossing cscs in ME 3 and 4
158 >    TH1I* hBXDifference34Cross[NUMSEC][4];
159  
160 +    /// BX differences between different sectors
161 +   TH1I* hBXDifferenceSector[NUMSEC][11];
162  
163  
164      /// Canvases to display the histograms once they are filled
165  
166 <    TCanvas* cBX[MAX_SECTORS][MAX_STATIONS];
166 >    TCanvas* cBX[NUMSEC][MAX_STATIONS];
167      TCanvas* cNumTracksPerEvent;
168      TCanvas* cTimingConstA;
169      TCanvas* cTimingConstB;
170      TCanvas* cTimingConstDirect;
171      TCanvas* cTimingComp;
172  
173 <    TCanvas* cBXDifference[MAX_SECTORS][MAX_STATIONS];
173 >    TCanvas* cBXDifference[NUMSEC][MAX_STATIONS];
174  
175      /// Canvases for printing BX Difference between station 2 and 3
176      /// Overlapping cscs in stations 2 and 3
177 <    TCanvas* cBXDifference23Overlap[MAX_SECTORS];
177 >    TCanvas* cBXDifference23Overlap[NUMSEC];
178      /// Crossing cscs in stations 2 and 3
179 <    TCanvas* cBXDifference23Cross[MAX_SECTORS];
179 >    TCanvas* cBXDifference23Cross[NUMSEC];
180      /// Non-overlapping cscs in stations 2 and 3
181 <    TCanvas* cBXDifference23NonOverlap[MAX_SECTORS];
181 >    TCanvas* cBXDifference23NonOverlap[NUMSEC];
182      /// Canvases for printing BX differences between station 1A and 2
183      /// ME 1A ring 1
184 <    TCanvas* cBXDifference1AR12[MAX_SECTORS];
184 >    TCanvas* cBXDifference1AR12[NUMSEC];
185      /// ME 1A ring 2/3
186 <    TCanvas* cBXDifference1AR232[MAX_SECTORS];
186 >    TCanvas* cBXDifference1AR232[NUMSEC];
187  
188      /// Canvases for printing BX differences between station 1B and 2
189      /// ME 1B ring 1
190 <    TCanvas* cBXDifference1BR12[MAX_SECTORS];
190 >    TCanvas* cBXDifference1BR12[NUMSEC];
191      /// ME 1B ring 2/3
192 <    TCanvas* cBXDifference1BR232[MAX_SECTORS];
192 >    TCanvas* cBXDifference1BR232[NUMSEC];
193  
194      /// Canvases for printing BX differences within station 1A
195      ///  R1R2
196 <    TCanvas* cBXDifference1AInR1R2[MAX_SECTORS];
196 >    TCanvas* cBXDifference1AInR1R2[NUMSEC];
197      /// R1R3
198 <    TCanvas* cBXDifference1AInR1R3[MAX_SECTORS];
198 >    TCanvas* cBXDifference1AInR1R3[NUMSEC];
199  
200      /// Canvases for printing BX differences within station 1B
201      ///  R1R2
202 <    TCanvas* cBXDifference1BInR1R2[MAX_SECTORS];
202 >    TCanvas* cBXDifference1BInR1R2[NUMSEC];
203      /// R1R3
204 <    TCanvas* cBXDifference1BInR1R3[MAX_SECTORS];
204 >    TCanvas* cBXDifference1BInR1R3[NUMSEC];
205  
206      /// Canvases for printing BX differences of station 1A and 1B
207 <    TCanvas* cBXDifference1AWith1B[MAX_SECTORS];
207 >    TCanvas* cBXDifference1AWith1B[NUMSEC];
208  
209  
210   };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines