]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ACORDE/AliACORDEReconstructor.cxx
Replacing AliInfo with AliDebug -level 5
[u/mrichter/AliRoot.git] / ACORDE / AliACORDEReconstructor.cxx
index 609c184926e67257ee359427c77e88be2e6e1de5..5afe80f91601619a26f18facbd1bcb83a9d617ee 100644 (file)
@@ -33,7 +33,8 @@ AliACORDEReconstructor:: AliACORDEReconstructor():
   AliReconstructor(),\r
   fESDACORDE(0x0),\r
   fAcordeRecoParam(0x0),\r
-  fCalibData(0x0)\r
+  fCalibData(0x0),\r
+  fDigitsArray(0)\r
 {\r
   // Default constructor  \r
   // Get calibration data\r
@@ -66,7 +67,8 @@ AliACORDEReconstructor& AliACORDEReconstructor::operator =
 AliACORDEReconstructor::~AliACORDEReconstructor()\r
 {\r
 // destructor\r
-  delete fESDACORDE; \r
+  delete fESDACORDE;\r
+  delete fDigitsArray;\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -84,8 +86,10 @@ void AliACORDEReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digit
     return;\r
   }\r
 \r
-  TClonesArray* digitsArray = new TClonesArray("AliACORDEdigit");\r
-  digitsTree->Branch("ACORDEdigit", &digitsArray);\r
+  if (!fDigitsArray)\r
+    fDigitsArray = new TClonesArray("AliACORDEdigit", 60);\r
+\r
+  digitsTree->Branch("ACORDEdigit", &fDigitsArray);\r
 \r
   rawReader->Reset();\r
   AliACORDERawStream rawStream(rawReader);\r
@@ -94,12 +98,13 @@ void AliACORDEReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digit
       Int_t  index = iChannel / 30;\r
       Int_t  bit   = iChannel % 30;\r
       if (rawStream.GetWord(index) & (1 << bit))\r
-        new ((*digitsArray)[digitsArray->GetEntriesFast()]) AliACORDEdigit(iChannel+1,0);\r
+        new ((*fDigitsArray)[fDigitsArray->GetEntriesFast()]) AliACORDEdigit(iChannel,0);\r
     }\r
   }\r
 \r
   digitsTree->Fill();\r
-                       \r
+\r
+  fDigitsArray->Clear();\r
 }\r
 \r
 void AliACORDEReconstructor::FillESD(TTree* digitsTree, TTree* /*clustersTree*/,AliESDEvent* esd) const\r
@@ -113,28 +118,31 @@ void AliACORDEReconstructor::FillESD(TTree* digitsTree, TTree* /*clustersTree*/,
       return;\r
     }\r
 \r
-  TClonesArray* digitsArray = NULL;\r
   TBranch* digitBranch = digitsTree->GetBranch("ACORDEdigit");\r
   if (!digitBranch) {\r
     AliError("No ACORDE digits branch found!");\r
     return;\r
   }\r
-  digitBranch->SetAddress(&digitsArray);\r
+  digitBranch->SetAddress(&fDigitsArray);\r
 \r
   digitsTree->GetEvent(0);\r
 \r
   Bool_t AcoHitSingle[60],AcoHitMulti[60];\r
   for(Int_t i = 0; i < 60; i++) { AcoHitSingle[i] = AcoHitMulti[i] = kFALSE; }\r
 \r
-  Int_t nDigits = digitsArray->GetEntriesFast();\r
+  Int_t nDigits = fDigitsArray->GetEntriesFast();\r
     \r
   for (Int_t d=0; d<nDigits; d++) {    \r
-    AliACORDEdigit* digit = (AliACORDEdigit*)digitsArray->At(d);\r
+    AliACORDEdigit* digit = (AliACORDEdigit*) fDigitsArray->At(d);\r
     Int_t module = digit->GetModule();\r
 \r
-    AcoHitSingle[module-1] = kTRUE;\r
-    AcoHitMulti[module-1] = kTRUE;\r
+    AcoHitSingle[module] = kTRUE;\r
+    AcoHitMulti[module] = kTRUE;\r
   }  \r
+  if (!esd) {\r
+       AliError("NO ACORDE ESD branch found!");\r
+       return;\r
+}\r
   TString ActiveTriggerDetector = esd->GetFiredTriggerClasses();\r
   if (ActiveTriggerDetector.Contains("ASL")) fESDACORDE->SetACORDEBitPattern(AcoHitSingle);\r
   else if (ActiveTriggerDetector.Contains("AMU")) fESDACORDE->SetACORDEBitPattern(AcoHitMulti);\r
@@ -144,7 +152,9 @@ void AliACORDEReconstructor::FillESD(TTree* digitsTree, TTree* /*clustersTree*/,
     {\r
       AliDebug(1, Form("Writing ACORDE data to ESD Tree"));\r
       esd->SetACORDEData(fESDACORDE);\r
-    }  \r
+    }\r
+\r
+  fDigitsArray->Clear();\r
 }\r
 \r
 \r