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.3 by wangdy, Fri Aug 17 15:30:17 2007 UTC vs.
Revision 1.15 by wangdy, Fri Dec 19 09:48:59 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=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;
48  
# Line 51 | 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      
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;
# Line 71 | Line 79 | private:
79      int eventNumber;
80      
81   /*     std::string day; */
82 +    edm::InputTag lctProducer, trackProducer;
83 +
84      std::string run;
85      std::string outFile;
86      std::string timeFile;
# Line 83 | 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 > //    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;
# Line 94 | Line 113 | private:
113      ///
114      /// MAX_CHAMBERS-2 because there are that many boundaries between CSCs to
115      /// account for in ME 234. In ME 1 there will be unused plots
116 <    TH1I* hBXDifference[MAX_SECTORS][MAX_STATIONS][MAX_CHAMBERS-2];
116 >    TH1I* hBXDifference[NUMSEC][MAX_STATIONS][MAX_CHAMBERS-2];
117      
118      /// BX difference between station 2 and 3
119      /// overlapping cscs in ME 2 and 3
120 <    TH1I* hBXDifference23Overlap[MAX_SECTORS][MAX_CHAMBERS];
120 >    TH1I* hBXDifference23Overlap[NUMSEC][MAX_CHAMBERS];
121      /// crossing cscs in ME 2 and 3
122 <    TH1I* hBXDifference23Cross[MAX_SECTORS][2*MAX_CHAMBERS-4];
122 >    TH1I* hBXDifference23Cross[NUMSEC][2*MAX_CHAMBERS-4];
123      /// non overlapping cscs in ME 2 and 3
124 <    TH1I* hBXDifference23NonOverlap[MAX_SECTORS][MAX_CHAMBERS-3];
124 >    TH1I* hBXDifference23NonOverlap[NUMSEC][MAX_CHAMBERS-3];
125      /// require "forward" muons
126  
127      /// BX difference between stations 1A and 2
128      /// ME 1A ring 1
129 <    TH1I* hBXDifference1AR12[MAX_SECTORS][MAX_CHAMBERS-3];
129 >    TH1I* hBXDifference1AR12[NUMSEC][MAX_CHAMBERS-3];
130      /// ME 1A ring 2/3
131 <    TH1I* hBXDifference1AR232[MAX_SECTORS][MAX_CHAMBERS-3];
131 >    TH1I* hBXDifference1AR232[NUMSEC][MAX_CHAMBERS-3];
132  
133      /// BX difference between stations 1B and 2
134      /// ME 1B ring 1
135 <    TH1I* hBXDifference1BR12[MAX_SECTORS][MAX_CHAMBERS-3];
135 >    TH1I* hBXDifference1BR12[NUMSEC][MAX_CHAMBERS-3];
136      /// ME 1B ring 2/3
137 <    TH1I* hBXDifference1BR232[MAX_SECTORS][MAX_CHAMBERS-3];
137 >    TH1I* hBXDifference1BR232[NUMSEC][MAX_CHAMBERS-3];
138 >
139 >    /// BX difference within different rings in  stations 1A
140 >    /// R1-R2
141 >    TH1I* hBXDifference1AInR1R2[NUMSEC][7];
142 >    /// R1-R3
143 >    TH1I* hBXDifference1AInR1R3[NUMSEC][7];
144 >
145 >    /// BX difference within different rings in  stations 1B
146 >    /// R1-R2
147 >    TH1I* hBXDifference1BInR1R2[NUMSEC][7];
148 >    /// R1-R3
149 >    TH1I* hBXDifference1BInR1R3[NUMSEC][7];
150 >    
151 >    /// BX difference within stations 1A abd 1B
152 >    TH1I* hBXDifference1AWith1B[NUMSEC][7];
153 >
154 >
155 >    /// BX difference between station 3 and 4
156 >    /// overlapping cscs in ME 3 and 4
157 >    TH1I* hBXDifference34Overlap[NUMSEC][MAX_CHAMBERS];
158 >    /// crossing cscs in ME 3 and 4
159 >    TH1I* hBXDifference34Cross[NUMSEC][4];
160 >
161 >    /// BX differences between different sectors
162 >   TH1I* hBXDifferenceSector[NUMSEC][11];
163 >
164  
120    
165      /// Canvases to display the histograms once they are filled
166  
167 <    TCanvas* cBX[MAX_SECTORS][MAX_STATIONS];
167 >    TCanvas* cBX[NUMSEC][MAX_STATIONS];
168      TCanvas* cNumTracksPerEvent;
169      TCanvas* cTimingConstA;
170      TCanvas* cTimingConstB;
171      TCanvas* cTimingConstDirect;
172      TCanvas* cTimingComp;
173  
174 <    TCanvas* cBXDifference[MAX_SECTORS][MAX_STATIONS];
174 >    TCanvas* cBXDifference[NUMSEC][MAX_STATIONS];
175  
176      /// Canvases for printing BX Difference between station 2 and 3
177      /// Overlapping cscs in stations 2 and 3
178 <    TCanvas* cBXDifference23Overlap[MAX_SECTORS];
178 >    TCanvas* cBXDifference23Overlap[NUMSEC];
179      /// Crossing cscs in stations 2 and 3
180 <    TCanvas* cBXDifference23Cross[MAX_SECTORS];
180 >    TCanvas* cBXDifference23Cross[NUMSEC];
181      /// Non-overlapping cscs in stations 2 and 3
182 <    TCanvas* cBXDifference23NonOverlap[MAX_SECTORS];
182 >    TCanvas* cBXDifference23NonOverlap[NUMSEC];
183      /// Canvases for printing BX differences between station 1A and 2
184      /// ME 1A ring 1
185 <    TCanvas* cBXDifference1AR12[MAX_SECTORS];
185 >    TCanvas* cBXDifference1AR12[NUMSEC];
186      /// ME 1A ring 2/3
187 <    TCanvas* cBXDifference1AR232[MAX_SECTORS];
187 >    TCanvas* cBXDifference1AR232[NUMSEC];
188  
189      /// Canvases for printing BX differences between station 1B and 2
190      /// ME 1B ring 1
191 <    TCanvas* cBXDifference1BR12[MAX_SECTORS];
191 >    TCanvas* cBXDifference1BR12[NUMSEC];
192      /// ME 1B ring 2/3
193 <    TCanvas* cBXDifference1BR232[MAX_SECTORS];
193 >    TCanvas* cBXDifference1BR232[NUMSEC];
194 >
195 >    /// Canvases for printing BX differences within station 1A
196 >    ///  R1R2
197 >    TCanvas* cBXDifference1AInR1R2[NUMSEC];
198 >    /// R1R3
199 >    TCanvas* cBXDifference1AInR1R3[NUMSEC];
200 >
201 >    /// Canvases for printing BX differences within station 1B
202 >    ///  R1R2
203 >    TCanvas* cBXDifference1BInR1R2[NUMSEC];
204 >    /// R1R3
205 >    TCanvas* cBXDifference1BInR1R3[NUMSEC];
206 >
207 >    /// Canvases for printing BX differences of station 1A and 1B
208 >    TCanvas* cBXDifference1AWith1B[NUMSEC];
209 >
210  
211   };
212  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines