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.17 by wangdy, Fri Jan 23 18:31:09 2009 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=10; // 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);
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;
# Line 71 | Line 80 | private:
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;
# Line 94 | Line 114 | private:
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  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines