/[PAMELA software]/quicklook/QLflightS4_ND/S4_Calibration_QL.cpp
ViewVC logotype

Diff of /quicklook/QLflightS4_ND/S4_Calibration_QL.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by pam-rm2, Thu Jun 15 14:00:30 2006 UTC revision 1.3 by pam-rm2, Tue Aug 22 09:06:35 2006 UTC
# Line 18  Line 18 
18  * Fixed bugs: for a large namber of events is not possible to initialize vectors, so all graphs have been converted in histograms  * Fixed bugs: for a large namber of events is not possible to initialize vectors, so all graphs have been converted in histograms
19  *  *
20  * Known bugs: it is no possible to choise the figure format  * Known bugs: it is no possible to choise the figure format
21    *
22    * Version 1.2 - August 2006
23    * Fixed bugs: is possible to choise figure format; all calibration are drown
24  **************/  **************/
25    
26  #include <fstream>  #include <fstream>
# Line 174  void S4_Calibration_QL(TString base, TSt Line 177  void S4_Calibration_QL(TString base, TSt
177    TH1F *calibS4_1 =new TH1F("calibS4_1", "calibS4_1", channels, 0, channels);    TH1F *calibS4_1 =new TH1F("calibS4_1", "calibS4_1", channels, 0, channels);
178    TH1F *calibS4_2 =new TH1F("calibS4_2", "calibS4_2", channels, 0, channels);    TH1F *calibS4_2 =new TH1F("calibS4_2", "calibS4_2", channels, 0, channels);
179    TH1F *calibS4_4 =new TH1F("calibS4_4", "calibS4_4", channels, 0, channels);      TH1F *calibS4_4 =new TH1F("calibS4_4", "calibS4_4", channels, 0, channels);  
180    ULong_t lastime, firstime;    ULong_t lastime, firstime, obt1;
181    double obmin=0.;    double obmin=0.;
182    double obmax=0.;    double obmax=0.;
183      double limitdown=0;
184      double limitup=0;
185    const Int_t size = nevents;    const Int_t size = nevents;
186      cout<<"size "<<size <<"\n";
187    
188    headBr->GetEntry(0);    headBr->GetEntry(0);
189    ph = eh->GetPscuHeader();    ph = eh->GetPscuHeader();
190    firstime = ph->GetOrbitalTime();    firstime = ph->GetOrbitalTime();
# Line 186  void S4_Calibration_QL(TString base, TSt Line 193  void S4_Calibration_QL(TString base, TSt
193    lastime = ph->GetOrbitalTime();    lastime = ph->GetOrbitalTime();
194    obmin=firstime;    obmin=firstime;
195    obmax=lastime;    obmax=lastime;
196      if(nevents < 2){
197        for(Int_t kk = 0; kk<nevents; kk++){
198          headBr->GetEntry(kk);
199          ph = eh->GetPscuHeader();
200          if(obmin >= ph->GetOrbitalTime())obmin=ph->GetOrbitalTime();
201          if(obmax <= ph->GetOrbitalTime())obmax=ph->GetOrbitalTime();
202        }
203       limitdown= obmin - 1000000;
204       limitup= obmax + 1000000;
205      }else{
206        for(Int_t kk = 0; kk<nevents; kk++){
207          headBr->GetEntry(kk);
208          ph = eh->GetPscuHeader();
209          cout<<"OrbitalTime()"<<ph->GetOrbitalTime()<<"\n";
210          if(obmin >= ph->GetOrbitalTime())obmin=ph->GetOrbitalTime();
211          if(obmax <= ph->GetOrbitalTime())obmax=ph->GetOrbitalTime();
212        }
213        limitdown=obmin;
214        limitup=obmax;
215      }
216    stringstream oss;    stringstream oss;
217    oss.str("");    oss.str("");
218    oss << "S4_Calibration_QL: "<< filename.Data();    oss << "S4_Calibration_QL: "<< filename.Data();
219    TH1F *cal1 =new TH1F("calibS4_1", oss.str().c_str(), size, obmin, obmax);    TH1F *cal1 =new TH1F("calibS4_1", oss.str().c_str(), size, obmin-1000000, obmax+ 1000000);
220    TH1F *cal2 =new TH1F("calibS4_2", oss.str().c_str(), size, obmin, obmax);    TH1F *cal2 =new TH1F("calibS4_2", oss.str().c_str(), size, obmin-1000000, obmax+ 1000000);
221    TH1F *cal4 =new TH1F("calibS4_4", oss.str().c_str(), size, obmin, obmax);      TH1F *cal4 =new TH1F("calibS4_4", oss.str().c_str(), size, obmin-1000000, obmax+ 1000000);  
222    
223    for(Int_t k = 0; k<nevents; k++){    for(Int_t k = 0; k<nevents; k++){
224      headBr->GetEntry(k);      headBr->GetEntry(k);
# Line 218  void S4_Calibration_QL(TString base, TSt Line 245  void S4_Calibration_QL(TString base, TSt
245        }        }
246      }      }
247    
248      obt=ph->GetOrbitalTime();      //obt=ph->GetOrbitalTime();
249      calib_1=calibS4_1->GetMean(1);      calib_1=calibS4_1->GetMean(1);
250      //calib_1_RMS=calibS4_1->GetRMS(1);      //calib_1_RMS=calibS4_1->GetRMS(1);
251      calib_2=calibS4_2->GetMean(1);      calib_2=calibS4_2->GetMean(1);
252      //calib_2_RMS=calibS4_2->GetRMS(1);      //calib_2_RMS=calibS4_2->GetRMS(1);
253      calib_4=calibS4_4->GetMean(1);      calib_4=calibS4_4->GetMean(1);
254      //calib_4_RMS=calibS4_4->GetRMS(1);      //calib_4_RMS=calibS4_4->GetRMS(1);
255      cal1->Fill(obt,calib_1);      cal1->Fill(ph->GetOrbitalTime(),calib_1);
256      cal2->Fill(obt,calib_2);      cal2->Fill(ph->GetOrbitalTime(),calib_2);
257      cal4->Fill(obt,calib_4);      cal4->Fill(ph->GetOrbitalTime(),calib_4);
258        cout<<"k"<<k<<"\n";
259      //cout<<calib_1_RMS<<"\n";      //cout<<calib_1_RMS<<"\n";
260      //cout<<calib_2_RMS<<"\n";      //cout<<calib_2_RMS<<"\n";
261      //cout<<calib_4_RMS<<"\n";      //cout<<calib_4_RMS<<"\n";
# Line 278  void S4_Calibration_QL(TString base, TSt Line 305  void S4_Calibration_QL(TString base, TSt
305    cal4->Draw("9psame");    cal4->Draw("9psame");
306   if (IPM1status==0 && IPM2status==1){    ////hot configuration   if (IPM1status==0 && IPM2status==1){    ////hot configuration
307      TF1 *func1 = new TF1("func1", "1560");   ///valore di riferimento 1300      TF1 *func1 = new TF1("func1", "1560");   ///valore di riferimento 1300
308      func1->SetRange(obmin, obmax);      //func1->SetRange(obmin, obmax);
309        func1->SetRange(limitdown, limitup);
310      func1->SetLineColor(4);      func1->SetLineColor(4);
311      func1->SetLineStyle(4);      func1->SetLineStyle(1);
312      func1->SetLineWidth(4);      func1->SetLineWidth(3);
313      func1->Draw("same");      func1->Draw("same");
314      TF1 *func2 = new TF1("func2", "1040");   ///valore di riferimento 1300      TF1 *func2 = new TF1("func2", "1040");   ///valore di riferimento 1300
315      func2->SetRange(obmin, obmax);      //func2->SetRange(obmin, obmax);
316        func2->SetRange(limitdown, limitup);
317      func2->SetLineColor(4);      func2->SetLineColor(4);
318      func2->SetLineStyle(4);      func2->SetLineStyle(1);
319      func2->SetLineWidth(4);      func2->SetLineWidth(3);
320      func2->Draw("same");      func2->Draw("same");
321      TF1 *func3 = new TF1("func3", "109");    ///valore di riferimento 95      TF1 *func3 = new TF1("func3", "109");    ///valore di riferimento 95
322      func3->SetRange(obmin, obmax);      //func3->SetRange(obmin, obmax);
323        func3->SetRange(limitdown, limitup);
324      func3->SetLineColor(6);      func3->SetLineColor(6);
325      func3->SetLineStyle(4);      func3->SetLineStyle(1);
326      func3->SetLineWidth(4);      func3->SetLineWidth(3);
327      func3->Draw("same");      func3->Draw("same");
328      TF1 *func4 = new TF1("func4", "71");    ///valore di riferimento 95      TF1 *func4 = new TF1("func4", "71");    ///valore di riferimento 95
329      func4->SetRange(obmin, obmax);      //func4->SetRange(obmin, obmax);
330        func4->SetRange(limitdown, limitup);
331      func4->SetLineColor(6);      func4->SetLineColor(6);
332      func4->SetLineStyle(4);      func4->SetLineStyle(1);
333      func4->SetLineWidth(4);      func4->SetLineWidth(3);
334      func4->Draw("same");      func4->Draw("same");
335      TF1 *func5 = new TF1("func5", "38.4");    //valore di riferimento 32      TF1 *func5 = new TF1("func5", "38.4");    //valore di riferimento 32
336      func5->SetRange(obmin, obmax);      //func5->SetRange(obmin, obmax);
337      func5->SetLineStyle(4);      func5->SetRange(limitdown, limitup);
338        func5->SetLineStyle(1);
339      func5->SetLineColor(3);      func5->SetLineColor(3);
340      func5->SetLineWidth(4);      func5->SetLineWidth(3);
341      func5->Draw("same");      func5->Draw("same");
342      TF1 *func6 = new TF1("func6", "25.6");    //valore di riferimento 32      TF1 *func6 = new TF1("func6", "25.6");    //valore di riferimento 32
343      func6->SetRange(obmin, obmax);      //func6->SetRange(obmin, obmax);
344      func6->SetLineStyle(4);      func6->SetRange(limitdown, limitup);
345        func6->SetLineStyle(1);
346      func6->SetLineColor(3);      func6->SetLineColor(3);
347      func6->SetLineWidth(4);      func6->SetLineWidth(3);
348      func6->Draw("same");      func6->Draw("same");
349     }     }
350    
351    if (IPM1status==1 && IPM2status==0){    ////cold configuration    if (IPM1status==1 && IPM2status==0){    ////cold configuration
352      TF1 *func1 = new TF1("func1", "2400");      TF1 *func1 = new TF1("func1", "2400");
353      func1->SetRange(obmin, obmax);      //func1->SetRange(obmin, obmax);
354        func1->SetRange(limitdown, limitup);
355      func1->SetLineColor(4);      func1->SetLineColor(4);
356      func1->SetLineStyle(4);      func1->SetLineStyle(1);
357      func1->SetLineWidth(4);      func1->SetLineWidth(3);
358      func1->Draw("same");      func1->Draw("same");
359      TF1 *func2 = new TF1("func2", "1600");   ///valore di riferimento 2000      TF1 *func2 = new TF1("func2", "1600");   ///valore di riferimento 2000
360      func2->SetRange(obmin, obmax);      //func2->SetRange(obmin, obmax);
361        func2->SetRange(limitdown, limitup);
362      func2->SetLineColor(4);      func2->SetLineColor(4);
363      func2->SetLineStyle(4);      func2->SetLineStyle(1);
364      func2->SetLineWidth(4);      func2->SetLineWidth(3);
365      func2->Draw("same");      func2->Draw("same");
366      TF1 *func3 = new TF1("func3", "180");      TF1 *func3 = new TF1("func3", "180");
367      func3->SetRange(obmin, obmax);      //func3->SetRange(obmin, obmax);
368        func3->SetRange(limitdown, limitup);
369      func3->SetLineColor(6);      func3->SetLineColor(6);
370      func3->SetLineStyle(4);      func3->SetLineStyle(1);
371      func3->SetLineWidth(4);      func3->SetLineWidth(3);
372      func3->Draw("same");      func3->Draw("same");
373      TF1 *func4 = new TF1("func4", "120");    ///valore di riferimento 150      TF1 *func4 = new TF1("func4", "120");    ///valore di riferimento 150
374      func4->SetRange(obmin, obmax);      //func4->SetRange(obmin, obmax);
375        func4->SetRange(limitdown, limitup);
376      func4->SetLineColor(6);      func4->SetLineColor(6);
377      func4->SetLineStyle(4);      func4->SetLineStyle(1);
378      func4->SetLineWidth(4);      func4->SetLineWidth(3);
379      func4->Draw("same");      func4->Draw("same");
380      TF1 *func5 = new TF1("func5", "38.4");      TF1 *func5 = new TF1("func5", "38.4");
381      func5->SetRange(obmin, obmax);      //func5->SetRange(obmin, obmax);
382      func5->SetLineStyle(4);      func5->SetRange(limitdown, limitup);
383        func5->SetLineStyle(1);
384      func5->SetLineColor(3);      func5->SetLineColor(3);
385      func5->SetLineWidth(4);      func5->SetLineWidth(3);
386      func5->Draw("same");      func5->Draw("same");
387      TF1 *func6 = new TF1("func6", "25.6");    //valore di riferimento 32      TF1 *func6 = new TF1("func6", "25.6");    //valore di riferimento 32
388      func6->SetRange(obmin, obmax);      //func6->SetRange(obmin, obmax);
389      func6->SetLineStyle(4);      func6->SetRange(limitdown, limitup);
390        func6->SetLineStyle(1);
391      func6->SetLineColor(3);      func6->SetLineColor(3);
392      func6->SetLineWidth(4);      func6->SetLineWidth(3);
393      func6->Draw("same");      func6->Draw("same");
394    }    }
395    
# Line 413  int main(int argc, char* argv[]){ Line 452  int main(int argc, char* argv[]){
452        }        }
453      }      }
454    
455      /* if (!strcmp(argv[i], "-format")){      if (!strcmp(argv[i], "-format")){
456        if (++i >= argc){        if (++i >= argc){
457          printf( "-format needs arguments. \n");          printf( "-format needs arguments. \n");
458          printf( "Try '--help' for more information. \n");          printf( "Try '--help' for more information. \n");
# Line 423  int main(int argc, char* argv[]){ Line 462  int main(int argc, char* argv[]){
462          format = argv[i];          format = argv[i];
463          continue;          continue;
464        }        }
465        }*/      }
466            
467            
468    }    }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.23