/[PAMELA software]/calo/flight/FQLOOK/macros/FCaloCHKCALIB.cxx
ViewVC logotype

Diff of /calo/flight/FQLOOK/macros/FCaloCHKCALIB.cxx

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

revision 1.8 by mocchiut, Mon May 29 09:38:26 2006 UTC revision 1.9 by mocchiut, Mon Jul 17 08:51:11 2006 UTC
# Line 1  Line 1 
1  //  //
2  //   Check the calorimter calibrations - Emiliano Mocchiutti  //   Check the calorimter calibrations - Emiliano Mocchiutti
3  //  //
4  //   FCaloCHKCALIB.c      version 1.07  (2006-05-29)  //   FCaloCHKCALIB.c      version 1.11  (2006-07-17)
5  //  //
6  //   The only input needed is the path to the directory created by YODA for the data file you want to analyze.  //   The only input needed is the path to the directory created by YODA for the data file you want to analyze.
7  //  //
8  //   Changelog:  //   Changelog:
9  //  //
10    //   1.07 - 1.11 (2006-07-17): Adapted to flight conditions.
11    //
12  //   1.06 - 1.07 (2006-05-29): Fixed bug in output filename when input is not in the form DW_YYMMDD_NNN. Changed threshold for bad strip warning (from 0.005 to 0.03).  //   1.06 - 1.07 (2006-05-29): Fixed bug in output filename when input is not in the form DW_YYMMDD_NNN. Changed threshold for bad strip warning (from 0.005 to 0.03).
13  //  //
14  //   1.05 - 1.06 (2006-03-22): Add optimize flag in compiling the script!  //   1.05 - 1.06 (2006-03-22): Add optimize flag in compiling the script!
# Line 62  void stringappend(TString& s1, const TSt Line 64  void stringappend(TString& s1, const TSt
64      };      };
65  }  }
66    
 // TString getFilename(const TString filename){  
 //     const string fil = (const char*)filename;  
 //     Int_t posiz = fil.find("dw_");  
 //     if ( posiz == -1 ) posiz = fil.find("DW_");  
 //     if ( posiz == -1 ) return 0;  
 //     Int_t posiz2 = posiz+13;  
 //     TString file2;  
 //     stringcopy(file2,filename,posiz,posiz2);  
 //     TString pdat(".dat");  
 //     stringappend(file2,pdat);  
 //     return file2;  
 // }  
67  TString getFilename(const TString filename){  TString getFilename(const TString filename){
68    //    //
69    const string fil = gSystem->BaseName(filename.Data());    const string fil = gSystem->BaseName(filename.Data());
# Line 196  void FCaloCHKCALIB(TString filename, Lon Line 186  void FCaloCHKCALIB(TString filename, Lon
186          };          };
187      };      };
188      //      //
 //     //  
 //     const string fil = (const char*)filename;  
 //     Int_t posiz = fil.find("dw_");  
 //     if ( posiz == -1 ) posiz = fil.find("DW_");  
 //     Int_t posiz2 = posiz+13;  
 //     TString file2;  
 //     stringcopy(file2,filename,posiz,posiz2);  
 //     //  
 //     const char *figrec = file2;  
189      //      //
190      const string fil = gSystem->BaseName(filename.Data());      const string fil = gSystem->BaseName(filename.Data());
191      Int_t posiz = fil.find(".root");      Int_t posiz = fil.find(".root");
# Line 339  void FCaloCHKCALIB(TString filename, Lon Line 320  void FCaloCHKCALIB(TString filename, Lon
320          gDirectory->Delete("C14");          gDirectory->Delete("C14");
321          gDirectory->Delete("C15");          gDirectory->Delete("C15");
322          gDirectory->Delete("C16");          gDirectory->Delete("C16");
323          TH1F *calped = new TH1F("C14","calped",4230,-3.5,4227.5);          //TH1F *calped = new TH1F("C14","calped",4230,-3.5,4227.5);
324          TH1F *calrms = new TH1F("C15","calrms",4230,-3.5,4228.5);          //      TH1F *calrms = new TH1F("C15","calrms",4230,-3.5,4228.5);
325            TH1F *calped = new TH1F("C14","calped",2112,-3.5,4227.5);
326            //      TH1F *calrms = new TH1F("C15","calrms",264,-2.,4226.);
327            TH1F *calrms = new TH1F("C15","calrms",2112,-3.5,4228.5);
328          TH1F *calbad = new TH1F("C16","calgood",4230,-3.5,4228.5);          TH1F *calbad = new TH1F("C16","calgood",4230,-3.5,4228.5);
329          //          //
330          gDirectory->Delete("C17");          gDirectory->Delete("C17");
# Line 460  void FCaloCHKCALIB(TString filename, Lon Line 444  void FCaloCHKCALIB(TString filename, Lon
444                          incalped++;                          incalped++;
445                      };                      };
446                      calrms->Fill((float)j,(calib.calrms[l][m][n]/4.));                                                    calrms->Fill((float)j,(calib.calrms[l][m][n]/4.));                              
447                      if ( (calib.calrms[l][m][n]/4.) > 7. || (calib.calrms[l][m][n]/4.) < 1. ){                      if ( (((calib.calrms[l][m][n]/4.) > 7. || (calib.calrms[l][m][n]/4.) < 1.) && (j < 3440 && j > 3550)) || ( (j > 3439 && j < 3551)  && ((calib.calrms[l][m][n]/4.) > 150. || (calib.calrms[l][m][n]/4.) < 1.)) ){
448                          outcalrms++;                          outcalrms++;
449                      } else {                      } else {
450                          incalrms++;                          incalrms++;
# Line 470  void FCaloCHKCALIB(TString filename, Lon Line 454  void FCaloCHKCALIB(TString filename, Lon
454                      //                      //
455                      if ( n < 6 ){                                            if ( n < 6 ){                      
456                          calthr->Fill((float)g,(float)calib.calthr[l][m][n]);                                                                              calthr->Fill((float)g,(float)calib.calthr[l][m][n]);                                                    
457                          if ( calib.calthr[l][m][n] > 21. || calib.calthr[l][m][n] < 12. ){                          if ( (calib.calthr[l][m][n] > 21. || calib.calthr[l][m][n] < 12.) && (g < 215 && g > 221) ){
458                              outcalthr++;                              outcalthr++;
459                          } else {                          } else {
460                              incalthr++;                              incalthr++;
461                          };                          };
462                          calvar->Fill((float)g,(float)calib.calvar[l][m][n]);                                                                              calvar->Fill((float)g,(float)calib.calvar[l][m][n]);                                                    
463                          if ( calib.calvar[l][m][n] > 8. || calib.calvar[l][m][n] < 1. ){                          if ( (calib.calvar[l][m][n] > 8. || calib.calvar[l][m][n] < 1. ) && (g < 215 && g > 221) ){
464                              outcalvar++;                              outcalvar++;
465                          } else {                          } else {
466                              incalvar++;                              incalvar++;
# Line 663  void FCaloCHKCALIB(TString filename, Lon Line 647  void FCaloCHKCALIB(TString filename, Lon
647          calped->GetXaxis()->SetNdivisions(322);          calped->GetXaxis()->SetNdivisions(322);
648          calped->SetXTitle("strip");          calped->SetXTitle("strip");
649          calped->SetYTitle("ADC channels");          calped->SetYTitle("ADC channels");
650            calped->SetMaximum(3000.);
651            calped->SetMinimum(-3000.);
652          calped->Draw();          calped->Draw();
653          TPolyLine *banda1;          TPolyLine *banda1;
654          Double_t xc[4] = {0.,4224.,4224.,0.};          Double_t xc[4] = {0.,4224.,4224.,0.};
# Line 674  void FCaloCHKCALIB(TString filename, Lon Line 660  void FCaloCHKCALIB(TString filename, Lon
660          banda1->Draw("fSAME");          banda1->Draw("fSAME");
661          TPolyLine *banda2;          TPolyLine *banda2;
662          Double_t xc2[4] = {4031.5,4047.5,4047.5,4031.5};          Double_t xc2[4] = {4031.5,4047.5,4047.5,4031.5};
663          Double_t yc2[4] = {-2500.,-2500.,28000.,28000.};          //      Double_t yc2[4] = {-2500.,-2500.,28000.,28000.};
664            Double_t yc2[4] = {-3000.,-3000.,3000.,3000.};
665          banda2 = new TPolyLine(4,xc2,yc2);          banda2 = new TPolyLine(4,xc2,yc2);
666          banda2->SetLineColor(5);          banda2->SetLineColor(5);
667          banda2->SetFillColor(5);          banda2->SetFillColor(5);
# Line 692  void FCaloCHKCALIB(TString filename, Lon Line 679  void FCaloCHKCALIB(TString filename, Lon
679          banda1->SetFillColor(5);          banda1->SetFillColor(5);
680          banda1->SetLineWidth(1);          banda1->SetLineWidth(1);
681          banda1->Draw("fSAME");          banda1->Draw("fSAME");
682            Float_t minrm = calrms->GetMinimum();
683            Float_t maxrm = calrms->GetMaximum();
684            Double_t xrm2[4] = {3449.,3551.,3551.,3449.};
685            Double_t yrm2[4] = {minrm,minrm,maxrm,maxrm};
686            banda2 = new TPolyLine(4,xrm2,yrm2);
687            banda2->SetLineColor(5);
688            banda2->SetFillColor(5);
689            banda2->SetLineWidth(1);
690            banda2->Draw("fSAME");
691          calrms->SetXTitle("strip");          calrms->SetXTitle("strip");
692          calrms->SetYTitle("ADC channels");          calrms->SetYTitle("ADC channels");
693          calrms->Draw("SAME");          calrms->Draw("SAME");
# Line 733  void FCaloCHKCALIB(TString filename, Lon Line 729  void FCaloCHKCALIB(TString filename, Lon
729          banda1->SetFillColor(5);          banda1->SetFillColor(5);
730          banda1->SetLineWidth(1);          banda1->SetLineWidth(1);
731          banda1->Draw("fSAME");          banda1->Draw("fSAME");
732            //
733            minrm = calthr->GetMinimum();
734            maxrm = 1.05*calthr->GetMaximum();
735            Double_t xth2[4] = {215.,221.,221.,215.};
736            Double_t yth2[4] = {minrm,minrm,maxrm,maxrm};
737            banda2 = new TPolyLine(4,xth2,yth2);
738            banda2->SetLineColor(5);
739            banda2->SetFillColor(5);
740            banda2->SetLineWidth(1);
741            banda2->Draw("fSAME");
742            //
743          calthr->Draw("SAME");          calthr->Draw("SAME");
744          f3pd2->cd();          f3pd2->cd();
745            //      gPad->SetLogy();
746          calvar->GetXaxis()->SetNdivisions(644);          calvar->GetXaxis()->SetNdivisions(644);
747          calvar->SetXTitle("pre-amplifier");          calvar->SetXTitle("pre-amplifier");
748          calvar->SetYTitle("ADC channels");          calvar->SetYTitle("ADC channels");
# Line 746  void FCaloCHKCALIB(TString filename, Lon Line 754  void FCaloCHKCALIB(TString filename, Lon
754          banda1->SetFillColor(5);          banda1->SetFillColor(5);
755          banda1->SetLineWidth(1);          banda1->SetLineWidth(1);
756          banda1->Draw("fSAME");          banda1->Draw("fSAME");
757            //
758            minrm = calvar->GetMinimum();
759            maxrm = 1.05*calvar->GetMaximum();
760            Double_t xva2[4] = {215.,221.,221.,215.};
761            Double_t yva2[4] = {minrm,minrm,maxrm,maxrm};
762            banda2 = new TPolyLine(4,xva2,yva2);
763            banda2->SetLineColor(5);
764            banda2->SetFillColor(5);
765            banda2->SetLineWidth(1);
766            banda2->Draw("fSAME");
767            //
768          calvar->Draw("SAME");          calvar->Draw("SAME");
769          f3pd3->cd();          f3pd3->cd();
770          calbase->GetXaxis()->SetNdivisions(644);          calbase->GetXaxis()->SetNdivisions(644);

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.23