]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/CheckAlienZDCESD.C
updates fro MC running (Marta)
[u/mrichter/AliRoot.git] / ZDC / CheckAlienZDCESD.C
index 16243f22e73ad984e621d46df485d8c26a39cb64..de5153101b6692f82b452f93f366f04ebdc56037 100644 (file)
@@ -21,7 +21,7 @@
 #include "STEER/AliESDZDC.h"
 
 #endif
-void CheckAlienZDCESD(Int_t year=2010, const char* period="10a", 
+void CheckAlienZDCESD(Int_t year=2010, const char* period="10f", 
        Int_t nRun=0, Int_t recoPass=1, Int_t nMaxFiles=1,
        Bool_t plot=kTRUE, Bool_t esdWordCut=kFALSE)
 {
@@ -40,17 +40,17 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
   centroidZNsideA->SetXTitle("X_{ZNA} (cm)");
   centroidZNsideA->SetYTitle("Y_{ZNA} (cm)");
 */
- TH1F * enZNC = new TH1F("enZNC", "Energy in ZNC",100,0.,5000.);
+ TH1F * enZNC = new TH1F("enZNC", "ZNC signal",100,0.,2000.);
   enZNC->SetXTitle("E (GeV)");
- TH1F * enZPC = new TH1F("enZPC", "Energy in ZPC",100,0.,5000.);
+ TH1F * enZPC = new TH1F("enZPC", "ZPC signal",100,0.,2000.);
   enZPC->SetXTitle("E (GeV)");
- TH1F * enZNA = new TH1F("enZNA", "Energy in ZNA",100,0.,5000.);
+ TH1F * enZNA = new TH1F("enZNA", "ZNA signal",100,0.,2000.);
   enZNA->SetXTitle("E (GeV)");
- TH1F * enZPA = new TH1F("enZPA", "Energy in ZPA",100,0.,5000.);
+ TH1F * enZPA = new TH1F("enZPA", "ZPA signal",100,0.,2000.);
   enZPA->SetXTitle("E (GeV)");
- TH1D * enZEM1 = new TH1D("enZEM1", "Energy in ZEM1",100,0.,100.);
+ TH1D * enZEM1 = new TH1D("enZEM1", "Energy in ZEM1",100,0.,2000.);
   enZEM1->SetXTitle("E (GeV)");
- TH1D * enZEM2 = new TH1D("enZEM2", "Energy in ZEM2",100,0.,100.);
+ TH1D * enZEM2 = new TH1D("enZEM2", "Energy in ZEM2",100,0.,2000.);
   enZEM2->SetXTitle("E (GeV)");
  // ----------------------------------------------------------------
  TH1D * hZNCTow[5]; TH1D * hZPCTow[5]; 
@@ -58,22 +58,31 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
  char nomehistznc[30], nomehistzpc[30], nomehistzna[30], nomehistzpa[30];
  for(Int_t i=0; i<5; i++){
    sprintf(nomehistznc,"ZNC-pm%d",i);
-   hZNCTow[i] = new TH1D(nomehistznc, nomehistznc, 100, 0.,100.);
+   hZNCTow[i] = new TH1D(nomehistznc, nomehistznc, 100, 0.,1000.);
    sprintf(nomehistzpc,"ZPC-pm%d",i);
-   hZPCTow[i] = new TH1D(nomehistzpc, nomehistzpc, 100, 0.,100.);
+   hZPCTow[i] = new TH1D(nomehistzpc, nomehistzpc, 100, 0.,1000.);
    sprintf(nomehistzna,"ZNA-pm%d",i);
-   hZNATow[i] = new TH1D(nomehistzna, nomehistzna, 100, 0.,100.);
+   hZNATow[i] = new TH1D(nomehistzna, nomehistzna, 100, 0.,1000.);
    sprintf(nomehistzpa,"ZPA-pm%d",i);
-   hZPATow[i] = new TH1D(nomehistzpa, nomehistzpa, 100, 0.,100.);
+   hZPATow[i] = new TH1D(nomehistzpa, nomehistzpa, 100, 0.,1000.);
  }
- TH1D *hSumQZNC = new TH1D("hSumQZNC", "hSumQZNC", 100, 0., 1000.);
+ //
+/* TH1D *hSumQZNC = new TH1D("hSumQZNC", "hSumQZNC", 100, 0., 1000.);
  TH1D *hSumQZPC = new TH1D("hSumQZPC", "hSumQZPC", 100, 0., 1000.);
  TH1D *hSumQZNA = new TH1D("hSumQZNA", "hSumQZNA", 100, 0., 1000.);
  TH1D *hSumQZPA = new TH1D("hSumQZPA", "hSumQZPA", 100, 0., 1000.);
+*/
  //
  TH1F *hESDword = new TH1F("hESDword","hESDword",6,0.5,6.5);
  hESDword->SetXTitle("ZDC trigger pattern"); 
+ //
+ TH1F * hTDC[32];
+ char ntdchist[20];
+ for(Int_t itdc=0; itdc<32; itdc++){
+    sprintf(ntdchist,"TDC-ch.%d",itdc);
+    hTDC[itdc] = new TH1F(ntdchist, ntdchist, 160, -350., -310.);
+    hTDC[itdc]->SetXTitle("TDC (ns)");
+ }
 
  TGrid::Connect("alien:",0,0,"t");
  gSystem->Exec(Form("gbbox find \"/alice/data/%d/LHC%s/000%d/ESDs/pass%d\" \"AliESDs.root\" > ESDFiles.txt",
@@ -208,11 +217,6 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
            if((iWord & 0x00000020) == 0x00000020) sumQzpc += towZPC[jj];
             if((iWord & 0x00000001) == 0x00000001) sumQzna += towZNA[jj];
            if((iWord & 0x00000002) == 0x00000002) sumQzpa += towZPA[jj];
-           //
-            /*w = TMath::Power(towZNC[jj], alpha);
-            numX += x[jj]*w;
-            numY += y[jj]*w;
-            den += w;*/
           }
          else{
            sumQznc += towZNC[jj];
@@ -223,7 +227,7 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
         }
       }
       //
-      if(esdWordCut){
+/*      if(esdWordCut){
         if((iWord & 0x00000010) == 0x00000010) {
          hSumQZNC->Fill(sumQznc);
          //
@@ -233,6 +237,7 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
         if((iWord & 0x00000020) == 0x00000020) {
          hSumQZPC->Fill(sumQzpc);
         }
+       
       }
       else{
         hSumQZNC->Fill(sumQznc);
@@ -242,6 +247,19 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
       //
       hSumQZNA->Fill(sumQzna);
       hSumQZPA->Fill(sumQzpa);
+*/
+      Float_t tdcData[32][4];
+      for(Int_t isc=0; isc<32; isc++){
+       for(Int_t i=0; i<4; i++) tdcData[isc][i] = esdZDC->GetZDCTDCData(isc, i);
+      }
+      for(Int_t itdc=0; itdc<32; itdc++){
+         for(Int_t j=0; j<4; j++){
+            if((itdc>=0 || itdc<=9) && (tdcData[itdc][j]!=0)){
+              hTDC[itdc]->Fill(tdcData[itdc][j]-tdcData[15][j]);
+           } 
+        }
+      }
+      
     }
     
   }
@@ -255,8 +273,10 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
   }
  } // while closing
   
- printf("    No. of events over threshold: ZNA %d ZPA %d ZEM1 %d ZEM2 %d ZNC %d ZPC %d\n\n", 
-    nevZNA, nevZPA, nevZEM1, nevZEM2, nevZNC, nevZPC);
+ printf("    No. of events over threshold: ZNA: %d  ZPA: %d  ZEM1: %d "
+        " ZEM2: %d  ZNC: %d  ZPC: %d\n\n", 
+        nevZNA, nevZPA, nevZEM1, nevZEM2, nevZNC, nevZPC);
+       
  if(plot){  
   //***********************************************************
   // #### ROOT initialization
@@ -265,7 +285,7 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
   gStyle->SetFrameFillColor(10);
   gStyle->SetOptTitle(1);
   if(esdWordCut) gStyle->SetOptStat(1111111);
-  else gStyle->SetOptStat(11111);
+  else gStyle->SetOptStat(1111);
   gStyle->SetOptFit(0);
   gStyle->SetTitleTextColor(4);
   gStyle->SetStatTextColor(4);
@@ -280,55 +300,44 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
    
 
   //-------------------------------------------------
-  TCanvas *c1 = new TCanvas("c1","Hadronic PMCs + ZEMs",400,0,500,800);
+  TCanvas *c1 = new TCanvas("c1","ZDCs + ZEMs signals",400,0,500,800);
   c1->Divide(2,3);
   c1->cd(1);
-  hZNATow[0]->SetLineColor(kBlue);
-  hZNATow[0]->SetFillColor(kBlue);
-  hZNATow[0]->Draw("");
+  gPad->SetLogy(1);
+  enZNC->Draw("");
+  enZNC->SetLineColor(kBlue);
+  enZNC->SetFillColor(kBlue);
   c1->cd(2);
-  hZPATow[0]->SetLineColor(kBlue);
-  hZPATow[0]->SetFillColor(kBlue);
-  hZPATow[0]->Draw("");
+  gPad->SetLogy(1);
+  enZPC->Draw("");
+  enZPC->SetLineColor(kBlue+3);
+  enZPC->SetFillColor(kBlue+3);
   c1->cd(3);
+  gPad->SetLogy(1);
   enZEM1->SetLineColor(kRed);
   enZEM1->SetFillColor(kRed);
   enZEM1->Draw("");
   c1->cd(4);
+  gPad->SetLogy(1);
   enZEM2->SetLineColor(kRed);
   enZEM2->SetFillColor(kRed);
   enZEM2->Draw("");
   c1->cd(5);
-  hZNCTow[0]->Draw("");
-  c1->cd(6);
-  hZPCTow[0]->Draw("");
-  
-  //-------------------------------------------------
-  TCanvas *c2 = new TCanvas("c2","Total signal in hadronic ZDCs",0,0,500,500);
-  c2->Divide(2,2);
-  c2->cd(1);
-  enZNC->Draw("");
-  enZNC->SetLineColor(kBlue);
-  enZNC->SetFillColor(kBlue);
-  c2->cd(2);
-  enZPC->Draw("");
-  enZPC->SetLineColor(kBlue+3);
-  enZPC->SetFillColor(kBlue+3);
-  c2->cd(3);
+  gPad->SetLogy(1);
   enZNA->Draw("");
   enZNA->SetLineColor(kRed);
   enZNA->SetFillColor(kRed);
-  c2->cd(4);
+  c1->cd(6);
+  gPad->SetLogy(1);
   enZPA->Draw("");
   enZPA->SetLineColor(kRed+1);
-  enZPA->SetFillColor(kRed+1);
-  
+  enZPA->SetFillColor(kRed+1);  
   
   //-------------------------------------------------
   TCanvas *c3 = new TCanvas("c3","Side C ZDCs",0,0,800,400);
   c3->Divide(5,2);
   c3->cd(1);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNCTow[0]->SetLineColor(kBlue);
   hZNCTow[0]->SetFillColor(kBlue);
   hZNCTow[0]->Draw("");
@@ -338,43 +347,43 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
   hZNCTow[1]->SetFillColor(kBlue);
   hZNCTow[1]->Draw("");
   c3->cd(3);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNCTow[2]->SetLineColor(kBlue);
   hZNCTow[2]->SetFillColor(kBlue);
   hZNCTow[2]->Draw("");
   c3->cd(4);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNCTow[3]->SetLineColor(kBlue);
   hZNCTow[3]->SetFillColor(kBlue);
   hZNCTow[3]->Draw("");
   c3->cd(5);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNCTow[4]->SetLineColor(kBlue);
   hZNCTow[4]->SetFillColor(kBlue);
   hZNCTow[4]->Draw("");
   //
   c3->cd(6);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPCTow[0]->SetLineColor(kBlue+3);
   hZPCTow[0]->SetFillColor(kBlue+3);
   hZPCTow[0]->Draw("");
   c3->cd(7);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPCTow[1]->SetLineColor(kBlue+3);
   hZPCTow[1]->SetFillColor(kBlue+3);
   hZPCTow[1]->Draw("");
   c3->cd(8);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPCTow[2]->SetLineColor(kBlue+3);
   hZPCTow[2]->SetFillColor(kBlue+3);
   hZPCTow[2]->Draw("");
   c3->cd(9);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPCTow[3]->SetLineColor(kBlue+3);
   hZPCTow[3]->SetFillColor(kBlue+3);
   hZPCTow[3]->Draw("");
   c3->cd(10);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPCTow[4]->SetLineColor(kBlue+3);
   hZPCTow[4]->SetFillColor(kBlue+3);
   hZPCTow[4]->Draw("");
@@ -384,7 +393,7 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
   TCanvas *c32 = new TCanvas("c32","side A ZDCs",700,0,800,400);
   c32->Divide(5,2);
   c32->cd(1);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNATow[0]->SetLineColor(kRed);
   hZNATow[0]->SetFillColor(kRed);
   hZNATow[0]->Draw("");
@@ -394,46 +403,68 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
   hZNATow[1]->SetFillColor(kRed);
   hZNATow[1]->Draw("");
   c32->cd(3);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNATow[2]->SetLineColor(kRed);
   hZNATow[2]->SetFillColor(kRed);
   hZNATow[2]->Draw("");
   c32->cd(4);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNATow[3]->SetLineColor(kRed);
   hZNATow[3]->SetFillColor(kRed);
   hZNATow[3]->Draw("");
   c32->cd(5);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZNATow[4]->SetLineColor(kRed);
   hZNATow[4]->SetFillColor(kRed);
   hZNATow[4]->Draw("");
   //
   c32->cd(6);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPATow[0]->SetLineColor(kRed+1);
   hZPATow[0]->SetFillColor(kRed+1);
   hZPATow[0]->Draw("");
   c32->cd(7);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPATow[1]->SetLineColor(kRed+1);
   hZPATow[1]->SetFillColor(kRed+1);
   hZPATow[1]->Draw("");
   c32->cd(8);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPATow[2]->SetLineColor(kRed+1);
   hZPATow[2]->SetFillColor(kRed+1);
   hZPATow[2]->Draw("");
   c32->cd(9);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPATow[3]->SetLineColor(kRed+1);
   hZPATow[3]->SetFillColor(kRed+1);
   hZPATow[3]->Draw("");
   c32->cd(10);
-  //gPad->SetLogy(1);
+  gPad->SetLogy(1);
   hZPATow[4]->SetLineColor(kRed+1);
   hZPATow[4]->SetFillColor(kRed+1);
   hZPATow[4]->Draw("");
+  
+  //-------------------------------------------------
+  TCanvas *c4 = new TCanvas("c4","TDCs",400,0,700,500);
+  c4->Divide(3,2);
+  c4->cd(1);
+  hTDC[1]->SetFillColor(kPink); hTDC[1]->SetLineColor(kPink);
+  hTDC[1]->Draw("");
+  c4->cd(2);
+  hTDC[3]->SetFillColor(kPink+4); hTDC[3]->SetLineColor(kPink+4);
+  hTDC[3]->Draw("");
+  c4->cd(3);
+  hTDC[5]->SetFillColor(kGreen); hTDC[5]->SetLineColor(kGreen);
+  hTDC[5]->Draw("");
+  c4->cd(4);
+  hTDC[7]->SetFillColor(kGreen+2); hTDC[7]->SetLineColor(kGreen+2);
+  hTDC[7]->Draw("");
+  c4->cd(5);
+  hTDC[8]->SetFillColor(kAzure); hTDC[8]->SetLineColor(kAzure);
+  hTDC[8]->Draw("");
+  c4->cd(6);
+  hTDC[9]->SetFillColor(kAzure+5); hTDC[9]->SetLineColor(kAzure+5);
+  hTDC[9]->Draw("");
  }
    
   TFile * fileout = new TFile("ESDhistos.root","recreate");
@@ -452,12 +483,13 @@ void CheckAlienZDCESD(Int_t year=2010, const char* period="10a",
       hZNATow[jj]->Write();
       hZPATow[jj]->Write();
   }
-  hSumQZNC->Write();
+  /*hSumQZNC->Write();
   hSumQZPC->Write();
   hSumQZNA->Write();
-  hSumQZPA->Write();
+  hSumQZPA->Write();*/
   //
   hESDword->Write();
+  for(Int_t jj=0; jj<9; jj++) hTDC[jj]->Write();
   //
   fileout->Close();