ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/yangyong/combineICEE/getCrystaldeadflag.cc
Revision: 1.1
Committed: Tue Apr 10 20:03:11 2012 UTC (13 years, 1 month ago) by yangyong
Content type: text/plain
Branch: MAIN
CVS Tags: V2012comb, pi0etaee_laser20111122_eefloatalpha, HEAD
Log Message:
LaserTag:
EcalLaserAPDPNRatios_data_20111122_158851_180363
and alpha Tag ( for Endcap Only)
EcalLaserAlphas_lto420-620_progr_data_20111122

File Contents

# User Rev Content
1 yangyong 1.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(char *file_input , int ndeadflagg[170][360]){
111    
112     // char *file_input = new char[500];
113    
114     // //sprintf(file_input,"crystal_deadflag.txt");
115     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.eg2ps2.runto144114.txt");
116     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.run2010b.146428to194442.txt");
117     // sprintf(file_input,"crystal_deadflag_alcapiz.run2010b.146428to194442.txtnew"); ///two more crystals set to dead by hand.
118    
119    
120     cout<<"READING fro deadcystalbarrel file "<<file_input<<endl;
121     ifstream inputcc(file_input,ios::in);
122     if (inputcc.fail()){
123     cout<<"error open file barrel.. " << file_input<<endl;
124     exit(1);
125     }
126    
127     int ieta;
128     int iphi;
129     int flag;
130    
131     int n = 0;
132     int ndead = 0;
133    
134     int ncorner;
135     int nside;
136    
137     int ndeadflag;
138    
139     //format
140     /// ieta, iphi ( after convxtalid, ieta+85 ) , flag ( 0/1) ncorner, nside, ndeadflag
141    
142     while (inputcc.good()){
143    
144     inputcc >> ieta >> iphi >> flag >> ncorner >> nside >> ndeadflag;
145    
146     flag_ietaiphi[ieta][iphi] = flag;
147     ndeadcorner_ietaiphi[ieta][iphi] = ncorner;
148     ndeadside_ietaiphi[ieta][iphi] = nside;
149    
150     ndeadflagg[ieta][iphi] = ndeadflag;
151    
152    
153     n ++;
154     if( flag ==1) ndead ++;
155    
156     if( n>= 61200) break;
157     }
158    
159     cout<<"deadflag read: "<< n <<" "<< ndead <<endl;
160    
161    
162    
163     }
164    
165     void getCrystaldeadflagBarrel(){
166    
167     char *file_input = new char[500];
168    
169     //sprintf(file_input,"crystal_deadflag.txt");
170     sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.eg2ps2.runto144114.txt");
171     sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.run2010b.146428to194442.txt");
172     sprintf(file_input,"crystal_deadflag_alcapiz.run2010b.146428to194442.txtnew"); ///two more crystals set to dead by hand.
173    
174    
175     ///2011A
176     sprintf(file_input,"crystal_deadflag_alcapiz.run2011a.160405to163869.txt");
177    
178    
179    
180    
181     sprintf(file_input,"crystal_deadflag_eb_dflag64.txt");
182    
183    
184    
185     if(doPizEta ==1){
186    
187     // if(dataflag==25){
188     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.looseCut.runto139980.txt");
189     // }else if( dataflag==24){
190     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.runto143193.txt");
191     // }else if( dataflag==23){
192     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.tightCut.eg2ps2.runto144114.txt");
193     // }
194     // else if( dataflag ==26 || dataflag == 27 || dataflag == 28){
195     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcapiz.run2010b.146428to194442.txt");
196     // }
197     // else{
198     // cout<<"warning deadcrystalmap .."<< dataflag<<endl;
199     // }
200    
201    
202     }else{
203    
204     // if(dataflag==201){
205     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcaeta.runto143193.txt");
206     // }else if(dataflag==202){
207     // sprintf(file_input,"/uscms/home/yongy/work/crystal_deadflag_alcaeta.eg2ps2.runto143193.txt");
208     // }
209    
210     // else{
211     // cout<<"warning deadcrystalmap .."<< dataflag<<endl;
212     // }
213    
214     }
215    
216     cout<<"READING fro deadcystalbarrel file "<<file_input<<endl;
217     ifstream inputcc(file_input,ios::in);
218     if (inputcc.fail()){
219     cout<<"error open file barrel.. " << file_input<<endl;
220     exit(1);
221     }
222    
223     int ieta;
224     int iphi;
225     int flag;
226    
227     int n = 0;
228     int ndead = 0;
229    
230     int ncorner;
231     int nside;
232    
233     int ndeadflag;
234    
235     //format
236     /// ieta, iphi ( after convxtalid, ieta+85 ) , flag ( 0/1) ncorner, nside, ndeadflag
237    
238     while (inputcc.good()){
239    
240     inputcc >> ieta >> iphi >> flag >> ncorner >> nside >> ndeadflag;
241     flag_ietaiphi[ieta][iphi] = flag;
242     ndeadcorner_ietaiphi[ieta][iphi] = ncorner;
243     ndeadside_ietaiphi[ieta][iphi] = nside;
244    
245     ndeadflag_ietaiphi[ieta][iphi] = ndeadflag;
246    
247    
248     n ++;
249     if( flag ==1) ndead ++;
250    
251     if( n>= 61200) break;
252     }
253    
254     cout<<"deadflag read: "<< n <<" "<< ndead <<endl;
255    
256    
257     }
258    
259    
260    
261     void getCorrFactorDead(){
262    
263     for(int j=0; j< 20; j++){
264     corrfactorDead[j] = 1;
265     }
266    
267    
268     }
269    
270    
271     ///No iteration, just normalize the mass peak of crystals next to dead crystals to the peak of crytsals without dead crystals nearby
272     // and corretion on the cluster energy
273    
274     ///maybe apply correction to mpair ; mpair *= fcorr1 * fcorr2
275    
276    
277     void getCorrFactorDead_Barrel_CorrectionOnClusterEnergy(){
278    
279     char *filename = new char[500];
280    
281     if( applyCorrEta == 1 && applyCorrPhi ==1){
282     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);
283     }else if( applyCorrEta == 21 && applyCorrPhi ==11){
284     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);
285     }
286    
287     //calibres/deriveCalibConst.testCalibv1.dflag19.pe1.cut4.rmOvlap0.step10.method1.corrEta1.corrPhi0.corrSM1.corrDead0.precalib1.vtx0.encorr24.evtNot-1.root
288    
289     cout<<filename<<endl;
290    
291     TFile *ff =new TFile(filename,"read");
292    
293     TH1F *hh_corr_dead = (TH1F*)ff->Get("hh_corr_deadv1");
294    
295     for(int b=1; b<= hh_corr_dead->GetNbinsX(); b++){
296     corrfactorDead[b-1] = hh_corr_dead->GetBinContent(b);
297     if( b==1 || corrfactorDead[b-1]!=1) cout<<"corr_dead"<<b-1<<" "<< corrfactorDead[b-1]<<endl;
298     }
299     cout<<"correction of dead crystal read.."<<endl;
300    
301    
302     }