ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/yangyong/combineICEB/getCrystaldeadflag.cc
Revision: 1.2
Committed: Tue Apr 10 19:41:08 2012 UTC (13 years, 1 month ago) by yangyong
Content type: text/plain
Branch: MAIN
CVS Tags: V2012combv2c, V2012combv2b, V2012combv2a, V2012combv2, V2012combv1, V2011combv1, pi0etaeb_laser20111122, HEAD
Changes since 1.1: +295 -0 lines
Error occurred while calculating annotation data.
Log Message:
LaserTag:
EcalLaserAPDPNRatios_data_20111122_158851_180363

and alpha Tag ( for Endcap Only)
EcalLaserAlphas_lto420-620_progr_data_20111122

File Contents

# Content
1 void getCrystaldeadflagEndcap(){
2
3
4 char *file_input = new char[500];
5
6 sprintf(file_input,"crystal_deadflag_run2011amay10.txt");
7
8
9
10 cout<<"READING fro deadcystalbarrel file "<<file_input<<endl;
11 ifstream inputcc(file_input,ios::in);
12 if (inputcc.fail()){
13 cout<<"error open file.. " << file_input<<endl;
14 exit(1);
15 }
16
17 int iz;
18 int ieta;
19 int iphi;
20 int flag;
21
22 int n = 0;
23 int ndead = 0;
24
25 int ncorner;
26 int nside;
27
28 int ndeadflag;
29
30 while (inputcc.good()){
31
32 inputcc >> iz >> ieta >> iphi >> flag >> ncorner >> nside >> ndeadflag;
33 if( abs(iz) !=1){
34 cout<<"worng ?? " << iz <<endl;
35 exit(1);
36 }
37
38 int izz = iz < 0 ? 0:1;
39 flag_endcap[izz][ieta][iphi] = flag;
40 ndeadcorner_endcap[izz][ieta][iphi] = ncorner;
41 ndeadside_endcap[izz][ieta][iphi] = nside;
42 ndeadflag_endcap[izz][ieta][iphi] = ndeadflag;
43
44
45 n ++;
46 if( flag ==1) ndead ++;
47
48 if( n>= 14648) break;
49 }
50
51 cout<<"deadflag read: "<< n <<" "<< ndead <<endl;
52
53
54 }
55
56
57 void getCrystaldeadflagEndcap_v1(char *file_input,int ndeadflagg[2][101][101]){
58 // char *file_input = new char[500];
59 //sprintf(file_input,"crystal_deadflag_run2011amay10.txt");
60
61
62 cout<<"READING fro deadcystalbarrel file "<<file_input<<endl;
63 ifstream inputcc(file_input,ios::in);
64 if (inputcc.fail()){
65 cout<<"error open file.. " << file_input<<endl;
66 exit(1);
67 }
68
69 int iz;
70 int ieta;
71 int iphi;
72 int flag;
73
74 int n = 0;
75 int ndead = 0;
76
77 int ncorner;
78 int nside;
79
80 int ndeadflag;
81
82 while (inputcc.good()){
83
84 inputcc >> iz >> ieta >> iphi >> flag >> ncorner >> nside >> ndeadflag;
85 if( abs(iz) !=1){
86 cout<<"worng ?? " << iz <<endl;
87 exit(1);
88 }
89
90 int izz = iz < 0 ? 0:1;
91 flag_endcap[izz][ieta][iphi] = flag;
92 ndeadcorner_endcap[izz][ieta][iphi] = ncorner;
93 ndeadside_endcap[izz][ieta][iphi] = nside;
94 ndeadflagg[izz][ieta][iphi] = ndeadflag;
95
96
97 n ++;
98 if( flag ==1) ndead ++;
99
100 if( n>= 14648) break;
101 }
102
103 cout<<"deadflag read: "<< n <<" "<< ndead <<endl;
104
105
106 }
107
108
109
110 void getCrystaldeadflagBarrel_v1(const char *file_input , int ndeadflagg[170][360]){
111
112
113 cout<<"READING fro deadcystalbarrel file "<<file_input<<endl;
114 ifstream inputcc(file_input,ios::in);
115 if (inputcc.fail()){
116 cout<<"error open file barrel.. " << file_input<<endl;
117 exit(1);
118 }
119
120 int ieta;
121 int iphi;
122 int flag;
123
124 int n = 0;
125 int ndead = 0;
126
127 int ncorner;
128 int nside;
129
130 int ndeadflag;
131
132 //format
133 /// ieta, iphi ( after convxtalid, ieta+85 ) , flag ( 0/1) ncorner, nside, ndeadflag
134
135 while (inputcc.good()){
136
137 inputcc >> ieta >> iphi >> flag >> ncorner >> nside >> ndeadflag;
138
139 flag_ietaiphi[ieta][iphi] = flag;
140 ndeadcorner_ietaiphi[ieta][iphi] = ncorner;
141 ndeadside_ietaiphi[ieta][iphi] = nside;
142
143 ndeadflagg[ieta][iphi] = ndeadflag;
144
145
146 n ++;
147 if( flag ==1) ndead ++;
148
149 if( n>= 61200) break;
150 }
151
152 cout<<"deadflag read: "<< n <<" "<< ndead <<endl;
153
154
155
156 }
157
158 void getCrystaldeadflagBarrel(){
159
160 char *file_input = new char[500];
161
162 //sprintf(file_input,"crystal_deadflag.txt");
163 sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.eg2ps2.runto144114.txt");
164 sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.run2010b.146428to194442.txt");
165 sprintf(file_input,"crystal_deadflag_alcapiz.run2010b.146428to194442.txtnew"); ///two more crystals set to dead by hand.
166
167
168 ///2011A
169 sprintf(file_input,"crystal_deadflag_alcapiz.run2011a.160405to163869.txt");
170
171
172
173
174 sprintf(file_input,"crystal_deadflag_eb_dflag64.txt");
175
176
177
178 if(doPizEta ==1){
179
180 // if(dataflag==25){
181 // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.looseCut.runto139980.txt");
182 // }else if( dataflag==24){
183 // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.runto143193.txt");
184 // }else if( dataflag==23){
185 // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.eg2ps2.runto144114.txt");
186 // }
187 // else if( dataflag ==26 || dataflag == 27 || dataflag == 28){
188 // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.run2010b.146428to194442.txt");
189 // }
190 // else{
191 // cout<<"warning deadcrystalmap .."<< dataflag<<endl;
192 // }
193
194
195 }else{
196
197 // if(dataflag==201){
198 // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcaeta.runto143193.txt");
199 // }else if(dataflag==202){
200 // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcaeta.eg2ps2.runto143193.txt");
201 // }
202
203 // else{
204 // cout<<"warning deadcrystalmap .."<< dataflag<<endl;
205 // }
206
207 }
208
209 cout<<"READING fro deadcystalbarrel file "<<file_input<<endl;
210 ifstream inputcc(file_input,ios::in);
211 if (inputcc.fail()){
212 cout<<"error open file barrel.. " << file_input<<endl;
213 exit(1);
214 }
215
216 int ieta;
217 int iphi;
218 int flag;
219
220 int n = 0;
221 int ndead = 0;
222
223 int ncorner;
224 int nside;
225
226 int ndeadflag;
227
228 //format
229 /// ieta, iphi ( after convxtalid, ieta+85 ) , flag ( 0/1) ncorner, nside, ndeadflag
230
231 while (inputcc.good()){
232
233 inputcc >> ieta >> iphi >> flag >> ncorner >> nside >> ndeadflag;
234 flag_ietaiphi[ieta][iphi] = flag;
235 ndeadcorner_ietaiphi[ieta][iphi] = ncorner;
236 ndeadside_ietaiphi[ieta][iphi] = nside;
237
238 ndeadflag_ietaiphi[ieta][iphi] = ndeadflag;
239
240
241 n ++;
242 if( flag ==1) ndead ++;
243
244 if( n>= 61200) break;
245 }
246
247 cout<<"deadflag read: "<< n <<" "<< ndead <<endl;
248
249
250 }
251
252
253
254 void getCorrFactorDead(){
255
256 for(int j=0; j< 20; j++){
257 corrfactorDead[j] = 1;
258 }
259
260
261 }
262
263
264 ///No iteration, just normalize the mass peak of crystals next to dead crystals to the peak of crytsals without dead crystals nearby
265 // and corretion on the cluster energy
266
267 ///maybe apply correction to mpair ; mpair *= fcorr1 * fcorr2
268
269
270 void getCorrFactorDead_Barrel_CorrectionOnClusterEnergy(){
271
272 char *filename = new char[500];
273
274 if( applyCorrEta == 1 && applyCorrPhi ==1){
275 sprintf(filename,"/uscmst1b_scratch/lpc1/3DayLifetime/yangyong/calib_smear0v1/calibres/deriveCalibConst.testCalibv1.dflag%d.pe%d.cut%d.rmOvlap%d.step%d.method%d.corrEta%d.corrPhi%d.corrSM%d.corrDead%d.precalib%d.vtx%d.encorr%d.evtNot%d.trig%d.root", dataflag,doPizEta, cutset,rmOverlap,11,1,1,0,1,-1, usePreCalib,useVtx,applyEnCorr,-1,trigger);
276 }else if( applyCorrEta == 21 && applyCorrPhi ==11){
277 sprintf(filename,"/uscmst1b_scratch/lpc1/3DayLifetime/yangyong/calib_smear0v1/calibres/deriveCalibConst.testCalibv1.dflag%d.pe%d.cut%d.rmOvlap%d.step%d.method%d.corrEta%d.corrPhi%d.corrSM%d.corrDead%d.precalib%d.vtx%d.encorr%d.evtNot%d.trig%d.root", dataflag,doPizEta, cutset,rmOverlap,11,1,21,10,1,-1, usePreCalib,useVtx,applyEnCorr,-1,trigger);
278 }
279
280 //calibres/deriveCalibConst.testCalibv1.dflag19.pe1.cut4.rmOvlap0.step10.method1.corrEta1.corrPhi0.corrSM1.corrDead0.precalib1.vtx0.encorr24.evtNot-1.root
281
282 cout<<filename<<endl;
283
284 TFile *ff =new TFile(filename,"read");
285
286 TH1F *hh_corr_dead = (TH1F*)ff->Get("hh_corr_deadv1");
287
288 for(int b=1; b<= hh_corr_dead->GetNbinsX(); b++){
289 corrfactorDead[b-1] = hh_corr_dead->GetBinContent(b);
290 if( b==1 || corrfactorDead[b-1]!=1) cout<<"corr_dead"<<b-1<<" "<< corrfactorDead[b-1]<<endl;
291 }
292 cout<<"correction of dead crystal read.."<<endl;
293
294
295 }