]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
In the clusterizer and rawData the creation of the tracklet loader and
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 15 Mar 2010 20:40:51 +0000 (20:40 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 15 Mar 2010 20:40:51 +0000 (20:40 +0000)
tree creation was changed, making the methods
AliTRDclusterizer::OpenTrackletOutput, AliTRDrawData::OpenOutput
obsolete. Thus, they have to be removed from the TRDReconstructor.

TRD/AliTRDReconstructor.cxx
TRD/AliTRDclusterizer.cxx
TRD/AliTRDclusterizer.h
TRD/AliTRDrawData.cxx
TRD/AliTRDrawData.h

index 269e51d18331f9784600409f8c5fea58c265cea3..1150ed46cb7bc6a052cbeab395b8a4a49563d7a0 100644 (file)
@@ -154,7 +154,6 @@ void AliTRDReconstructor::ConvertDigits(AliRawReader *rawReader
   AliTRDrawData rawData;
   rawReader->Reset();
   rawReader->Select("TRD");
-  rawData.OpenOutput();
   AliTRDrawStreamBase::SetRawStreamVersion(GetRecoParam()->GetRawStreamVersion()->Data());
   AliTRDdigitsManager *manager = rawData.Raw2Digits(rawReader);
   manager->MakeBranch(digitsTree);
@@ -186,7 +185,6 @@ void AliTRDReconstructor::Reconstruct(AliRawReader *rawReader
   fClusterizer->ResetRecPoints();
 
   fClusterizer->OpenOutput(clusterTree);
-  fClusterizer->OpenTrackletOutput();
   fClusterizer->SetUseLabels(kFALSE);
   fClusterizer->Raw2ClustersChamber(rawReader);
   
index 191ec02b24d2e09b11c04d812b49b9f30319b0f8..9ec47c8a850056a14b7bb2bb38142855b024ef3e 100644 (file)
@@ -371,46 +371,6 @@ Bool_t AliTRDclusterizer::OpenOutput(TTree *const clusterTree)
   return kTRUE;
 }
 
-//_____________________________________________________________________________
-Bool_t AliTRDclusterizer::OpenTrackletOutput()
-{
-  //
-  // Tracklet writing
-  //
-
-  if (fReconstructor->IsWritingTracklets()){
-    TString evfoldname = AliConfig::GetDefaultEventFolderName();
-    fRunLoader         = AliRunLoader::GetRunLoader(evfoldname);
-
-    if (!fRunLoader) {
-      fRunLoader = AliRunLoader::Open("galice.root");
-    }
-    if (!fRunLoader) {
-      AliError(Form("Can not open session for file galice.root."));
-      return kFALSE;
-    }
-
-    UInt_t **leaves = new UInt_t *[2];
-    AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets");
-    if (!dl) {
-      AliError("Could not get the tracklets data loader!");
-      dl = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
-      fRunLoader->GetLoader("TRDLoader")->AddDataLoader(dl);
-    }
-    fTrackletTree = dl->Tree();
-    if (!fTrackletTree)
-      {
-       dl->MakeTree();
-       fTrackletTree = dl->Tree();
-      }
-    TBranch *trkbranch = fTrackletTree->GetBranch("trkbranch");
-    if (!trkbranch)
-      fTrackletTree->Branch("trkbranch",leaves[0],"det/i:side/i:tracklets[256]/i");
-  }
-
-  return kTRUE;
-}
-
 //_____________________________________________________________________________
 Bool_t AliTRDclusterizer::OpenInput(Int_t nEvent)
 {
@@ -511,8 +471,8 @@ Bool_t AliTRDclusterizer::WriteTracklets(Int_t det)
     }
   }
 
-  AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets");
-  dl->WriteData("OVERWRITE");
+//  AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets"); //jkl: wrong here
+//  dl->WriteData("OVERWRITE"); //jkl: wrong here
   //dl->Unload();
   delete [] leaves;
 
@@ -650,6 +610,18 @@ Bool_t AliTRDclusterizer::Raw2ClustersChamber(AliRawReader *rawReader)
 
   fDigitsManager->SetUseDictionaries(TestBit(kLabels));
 
+  // ----- preparing tracklet output -----
+  if (fReconstructor->IsWritingTracklets()) {
+    AliDataLoader *trklLoader = AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets");
+    if (!trklLoader) {
+      AliError("Could not get the tracklets data loader, adding it now!");
+      trklLoader = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
+      AliRunLoader::Instance()->GetLoader("TRDLoader")->AddDataLoader(trklLoader);
+    }
+    if (!trklLoader->Tree())
+      AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets")->MakeTree();
+  }
+
   // tracklet container for raw tracklet writing
   if (!fTrackletContainer && ( fReconstructor->IsWritingTracklets() || fReconstructor->IsProcessingTracklets() )) {
     // maximum tracklets for one HC
@@ -657,6 +629,8 @@ Bool_t AliTRDclusterizer::Raw2ClustersChamber(AliRawReader *rawReader)
     fTrackletContainer = new UInt_t *[2];
     fTrackletContainer[0] = new UInt_t[kTrackletChmb]; 
     fTrackletContainer[1] = new UInt_t[kTrackletChmb]; 
+    memset(fTrackletContainer[0], 0, kTrackletChmb*sizeof(UInt_t)); //jkl
+    memset(fTrackletContainer[1], 0, kTrackletChmb*sizeof(UInt_t)); //jkl
   }
 
   if(!fRawStream)
@@ -684,6 +658,13 @@ Bool_t AliTRDclusterizer::Raw2ClustersChamber(AliRawReader *rawReader)
     if (*(fTrackletContainer[0]) > 0 || *(fTrackletContainer[1]) > 0) WriteTracklets(det);
   }
   
+  if (fReconstructor->IsWritingTracklets()) {
+    if (AliDataLoader *trklLoader = AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets")) {
+      trklLoader->WriteData("OVERWRITE");
+      trklLoader->Unload();
+    }
+  }
+
   if (fTrackletContainer){
     delete [] fTrackletContainer[0];
     delete [] fTrackletContainer[1];
index 83ce4ca2426100bd0c69cb56b504d6b354ccc04b..e75f523c995441e694fe2b4f47f7071f6e5bc523 100644 (file)
@@ -77,7 +77,6 @@ class AliTRDclusterizer : public TNamed
   Bool_t   OpenInput(Int_t nEvent = 0);
   Bool_t   OpenOutput();
   Bool_t   OpenOutput(TTree *const clusterTree);
-  Bool_t   OpenTrackletOutput();
 
   Bool_t   ReadDigits();
   Bool_t   ReadDigits(AliRawReader *rawReader);
index 148c618fad9713fde94b7854172e8197e8aedff3..ae79faa76e73f8856a4406aa0e2819549ce5f0c9 100644 (file)
@@ -41,6 +41,7 @@
 #include "AliTRDSignalIndex.h"
 #include "AliTRDfeeParam.h"
 #include "AliTRDmcmSim.h"
+#include "AliTRDtrackletWord.h"
 #include "AliTRDdigitsParam.h"
 
 ClassImp(AliTRDrawData)
@@ -1047,12 +1048,12 @@ AliTRDdigitsManager *AliTRDrawData::Raw2Digits(AliRawReader *rawReader)
   digitsManager->CreateArrays();
 
   if (!fTrackletContainer) {
-  //if (!fTrackletContainer && ( fReconstructor->IsWritingTracklets() || fReconstructor->IsProcessingTracklets() )) {
-    // maximum tracklets for one HC
     const Int_t kTrackletChmb=256;
     fTrackletContainer = new UInt_t *[2];
     fTrackletContainer[0] = new UInt_t[kTrackletChmb];
     fTrackletContainer[1] = new UInt_t[kTrackletChmb];
+    memset(fTrackletContainer[0], 0, kTrackletChmb*sizeof(UInt_t)); //jkl
+    memset(fTrackletContainer[1], 0, kTrackletChmb*sizeof(UInt_t)); //jkl
   }
 
   AliTRDrawStreamBase *pinput = AliTRDrawStreamBase::GetRawStream(rawReader);
@@ -1061,16 +1062,24 @@ AliTRDdigitsManager *AliTRDrawData::Raw2Digits(AliRawReader *rawReader)
 
   AliInfo(Form("Stream version: %s", input.IsA()->GetName()));
 
+  // ----- preparing tracklet output -----
+  AliDataLoader *trklLoader = AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets");
+  if (!trklLoader) {
+    AliError("Could not get the tracklets data loader, adding it now!");
+    trklLoader = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
+    AliRunLoader::Instance()->GetLoader("TRDLoader")->AddDataLoader(trklLoader);
+  }
+  if (!trklLoader->Tree())
+    AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets")->MakeTree();
+
   // Loop through the digits
   Int_t det    = 0;
 
   while (det >= 0)
     {
-      //det = input.NextChamber(digitsManager);
       det = input.NextChamber(digitsManager,fTrackletContainer);
 
-    //if (!fReconstructor->IsWritingTracklets()) continue;
-    if (*(fTrackletContainer[0]) > 0 || *(fTrackletContainer[1]) > 0) WriteTracklets(det);
+      if (*(fTrackletContainer[0]) > 0 || *(fTrackletContainer[1]) > 0) WriteTracklets(det);
 
       if (det >= 0)
        {
@@ -1087,6 +1096,11 @@ AliTRDdigitsManager *AliTRDrawData::Raw2Digits(AliRawReader *rawReader)
        }
     }
 
+  if (AliDataLoader *trklLoader = AliRunLoader::Instance()->GetLoader("TRDLoader")->GetDataLoader("tracklets")) {
+    trklLoader->WriteData("OVERWRITE");
+    trklLoader->Unload();
+  }
+
   if (fTrackletContainer){
     delete [] fTrackletContainer[0];
     delete [] fTrackletContainer[1];
@@ -1255,57 +1269,10 @@ Bool_t AliTRDrawData::WriteTracklets(Int_t det)
     }
   }
 
-  AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets");
-  dl->WriteData("OVERWRITE");
+  //  AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets"); //jkl: wrong
+  //  dl->WriteData("OVERWRITE"); //jkl: wrong
   //dl->Unload();
   delete [] leaves;
 
   return kTRUE;
-
 }
-
-//_____________________________________________________________________________
-Bool_t AliTRDrawData::OpenOutput()
-{
-  //
-  // Connect the output tree
-  //
-
-  // tracklet writing
-  if (1){
-  //if (fReconstructor->IsWritingTracklets()){
-    TString evfoldname = AliConfig::GetDefaultEventFolderName();
-    fRunLoader         = AliRunLoader::GetRunLoader(evfoldname);
-
-    if (!fRunLoader) {
-      fRunLoader = AliRunLoader::Open("galice.root");
-    }
-    if (!fRunLoader) {
-      AliError(Form("Can not open session for file galice.root."));
-      return kFALSE;
-    }
-
-    UInt_t **leaves = new UInt_t *[2];
-    AliDataLoader *dl = fRunLoader->GetLoader("TRDLoader")->GetDataLoader("tracklets");
-    if (!dl) {
-      AliError("Could not get the tracklets data loader!");
-      dl = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
-      fRunLoader->GetLoader("TRDLoader")->AddDataLoader(dl);
-    }
-    fTrackletTree = dl->Tree();
-    if (!fTrackletTree)
-      {
-       dl->MakeTree();
-       fTrackletTree = dl->Tree();
-      }
-    TBranch *trkbranch = fTrackletTree->GetBranch("trkbranch");
-    if (!trkbranch)
-      fTrackletTree->Branch("trkbranch",leaves[0],"det/i:side/i:tracklets[256]/i");
-  }
-  return kTRUE;
-
-}
-
-
-
-
index 0d4f6e624a45d407024f7333992aac4f1b254c0d..c24e53c82c4baed6681f90f39f799c0d17b1ae9b 100644 (file)
@@ -47,7 +47,6 @@ class AliTRDrawData : public TObject {
   static void SetRawFormatVersion(Int_t iver){ fgRawFormatVersion=iver; };
   static void SetSuppressionLevel(Int_t ilevel){ fgDataSuppressionLevel=ilevel; };
   Bool_t WriteTracklets(Int_t det);
-  Bool_t OpenOutput();
 
   enum FORMATTYPE
     {