]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0CalibOffsetChannelsTask.cxx
fix compilation
[u/mrichter/AliRoot.git] / T0 / AliT0CalibOffsetChannelsTask.cxx
index 99eefd25b80bd000348cb4af57065dd7441dd67a..3b36281764fa3be440e7b4562c11632da8bdd549 100644 (file)
@@ -27,13 +27,16 @@ ClassImp(AliT0CalibOffsetChannelsTask)
 AliT0CalibOffsetChannelsTask::AliT0CalibOffsetChannelsTask() \r
   : AliAnalysisTaskSE(),  fESD(0x0), fTzeroObject(0x0),\r
   fTzeroORA(0x0), fTzeroORC(0x0), fResolution(0x0), fTzeroORAplusORC(0x0),\r
-  fRunNumber(0)\r
+    fRunNumber(0),fRefPMTA(12), fRefPMTC(0)\r
 {\r
   // Constructor\r
 \r
   for( int ip=0; ip < 24; ip++){\r
     fTimeDiff[ip] = 0;\r
     fCFD[ip]      = 0;\r
+    fCDBdelays[ip]= 0;\r
+    fCDBcfds[ip]= 0;\r
+    if (ip<4 ) fCDBT0s[ip]= 0;\r
   }\r
 \r
   // Define input and output slots here\r
@@ -47,13 +50,17 @@ AliT0CalibOffsetChannelsTask::AliT0CalibOffsetChannelsTask()
 AliT0CalibOffsetChannelsTask::AliT0CalibOffsetChannelsTask(const char *name) \r
   : AliAnalysisTaskSE(name), fESD(0), fTzeroObject(0),\r
   fTzeroORA(0x0), fTzeroORC(0x0), fResolution(0x0), fTzeroORAplusORC(0x0),\r
-  fRunNumber(0)\r
+    fRunNumber(0),fRefPMTA(12), fRefPMTC(0)\r
 {\r
   // Constructor\r
  \r
   for( int ip=0; ip < 24; ip++){\r
     fTimeDiff[ip] = 0;\r
     fCFD[ip]      = 0;\r
+    fCDBdelays[ip]= 0;\r
+    fCDBcfds[ip]= 0;\r
+    if (ip<4 ) fCDBT0s[ip]= 0;\r
+\r
   }\r
  \r
   // Define input and output slots here\r
@@ -106,16 +113,19 @@ AliT0CalibOffsetChannelsTask::~AliT0CalibOffsetChannelsTask()
 void AliT0CalibOffsetChannelsTask::UserCreateOutputObjects()\r
 {\r
   // Create histograms\r
+  Float_t low = fCDBcfds[fRefPMTC] - 500;\r
+  Float_t high = fCDBcfds[fRefPMTA] + 500;\r
+  printf(" AliT0CalibOffsetChannelsTask::UserCreateOutputObjects ::low %f high %f \n", low, high);\r
   for (Int_t i=0; i<24; i++) {\r
-    fTimeDiff[i]   = new TH1F (Form("CFD1minCFD%d",i+1),"fTimeDiff",300, -300, 300);\r
-    fCFD[i]        = new TH1F(Form("CFD%d",i+1),"CFD",500, 2000, 3000);//6000, 7000);\r
-    // fCFD[i]        = new TH1F(Form("CFD%d",i+1),"CFD",500, -1000, 1000);//6000, 7000);\r
+    fTimeDiff[i]   = new TH1F (Form("CFD1minCFD%d",i+1),"fTimeDiff",150, -300, 300);\r
+    fCFD[i]        = new TH1F(Form("CFD%d",i+1),"CFD",250,low, high);//6000, 7000);\r
+    //    fCFD[i]        = new TH1F(Form("CFD%d",i+1),"CFD",250, -1000, 1000);//6000, 7000);\r
   }\r
 \r
-  fTzeroORAplusORC = new TH1F("fTzeroORAplusORC","ORA+ORC /2",400,-2000,2000);   //or A plus or C \r
-  fResolution      = new TH1F("fResolution","fResolution",400,-2000,2000);// or A minus or C spectrum\r
-  fTzeroORA        = new TH1F("fTzeroORA","fTzeroORA",400,-2000,2000);// or A spectrum\r
-  fTzeroORC        = new TH1F("fTzeroORC","fTzeroORC",400,-2000,2000);// or C spectrum\r
+  fTzeroORAplusORC = new TH1F("fTzeroORAplusORC","ORA+ORC /2",400,-4000,4000);   //or A plus or C \r
+  fResolution      = new TH1F("fResolution","fResolution",400,-2500,2500);// or A minus or C spectrum\r
+  fTzeroORA        = new TH1F("fTzeroORA","fTzeroORA",200,-4000,4000);// or A spectrum\r
+  fTzeroORC        = new TH1F("fTzeroORC","fTzeroORC",200,-4000,4000);// or C spectrum\r
 \r
   \r
   fTzeroObject     = new TObjArray(0);\r
@@ -152,29 +162,38 @@ void AliT0CalibOffsetChannelsTask::UserExec(Option_t *)
   fRunNumber =  fESD->GetRunNumber() ; \r
 \r
   const Double32_t* time = fESD->GetT0time();\r
+  const Double32_t* amp = fESD->GetT0amplitude();\r
+  Double32_t diff;\r
   for (Int_t i=0; i<12; i++) {\r
-    if( time[i] != 0 ){\r
-      fCFD[i]->Fill( time[i]);\r
-      if(  time[0] != 0 ) \r
-       fTimeDiff[i]->Fill( time[i]-time[0]);\r
+    if( time[i] !=0  && amp[i]>0.1 ){\r
+      fCFD[i]->Fill( time[i] );\r
+      //  printf(" time %f ocdb %f \n", time[i],fCDBcfds[i]); \r
+      \r
+      if(  time[fRefPMTC] != 0 ) {\r
+       diff =  time[i]-time[fRefPMTC] + fCDBdelays[i];\r
+       fTimeDiff[i]->Fill( diff);\r
+      }\r
     }\r
   }\r
   for (Int_t i=12; i<24; i++) {\r
-    if( time[i] != 0) {\r
+    if( time[i] != 0 && amp[i]>0.1) {\r
       fCFD[i]->Fill( time[i]);\r
-      if( time[12] != 0 ) \r
-       fTimeDiff[i]->Fill( time[i]-time[12]);\r
+      //  printf(" time %f ocdb %f \n", time[i],fCDBcfds[i]); \r
+       if( time[fRefPMTA] != 0 ) {\r
+       diff =  time[i]-time[fRefPMTA] + fCDBdelays[i];\r
+       fTimeDiff[i]->Fill( diff);\r
+      }\r
     }\r
   }\r
   const Double32_t* mean = fESD->GetT0TOF();\r
-  Double32_t meanTOF = mean[0] ;\r
-  Double32_t orA = mean[1] ;\r
-  Double32_t orC = mean[2];\r
+  Double32_t meanTOF = mean[0] +  fCDBT0s[0];\r
+  Double32_t orA = mean[1]  +  fCDBT0s[1];\r
+  Double32_t orC = mean[2] +  fCDBT0s[2];\r
  \r
-  if(orA<99999) fTzeroORA->Fill(orA);\r
-  if(orC<99999) fTzeroORC->Fill(orC);\r
-  if(orA<99999 && orC<99999) fResolution->Fill((orA-orC)/2.);\r
-  if(orA<99999 && orC<99999) fTzeroORAplusORC->Fill(meanTOF); \r
+  if(orA<9999) fTzeroORA->Fill(orA);\r
+  if(orC<9999) fTzeroORC->Fill(orC);\r
+  if(orA<9999 && orC<9999) fResolution->Fill((orA-orC)/2.);\r
+  if(orA<9999 && orC<9999) fTzeroORAplusORC->Fill(meanTOF); \r
 \r
   //  printf("%f   %f  %f\n",orA,orC,meanTOF);\r
   PostData(1, fTzeroObject);\r