prepare moving to 8 dEdx slices per chamber in ESD by default
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Feb 2009 11:34:27 +0000 (11:34 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Feb 2009 11:34:27 +0000 (11:34 +0000)
improve enumeration names

TRD/AliTRDReconstructor.cxx
TRD/AliTRDReconstructor.h

index b1e8da1..1ea05c6 100644 (file)
@@ -56,15 +56,19 @@ AliTRDReconstructor::AliTRDReconstructor()
   ,fSteerParam(0)
 {
   // setting default "ON" steering parameters
+  // owner of debug streamers 
+  SETFLG(fSteerParam, kOwner);
   // write clusters [cw]
   SETFLG(fSteerParam, kWriteClusters);
   // track seeding (stand alone tracking) [sa]
   SETFLG(fSteerParam, kSeeding);
   // PID method in reconstruction (NN) [nn]
   SETFLG(fSteerParam, kSteerPID);
+  // number of dEdx slices in the ESD track [8s]
+  //SETFLG(fSteerParam, kEightSlices);
 
-  memset(fStreamLevel, 0, 5*sizeof(UChar_t));
-  memset(fDebugStream, 0, sizeof(TTreeSRedirector *) * 4);
+  memset(fStreamLevel, 0, kNtasks*sizeof(UChar_t));
+  memset(fDebugStream, 0, sizeof(TTreeSRedirector *) * kNtasks);
   // Xe tail cancellation parameters
   fTCParams[0] = 1.156; // r1
   fTCParams[1] = 0.130; // r2
@@ -75,7 +79,6 @@ AliTRDReconstructor::AliTRDReconstructor()
   fTCParams[5] = 0.62;  // r2
   fTCParams[6] = 0.0087;// c1
   fTCParams[7] = 0.07;  // c2
-  SetBit(kOwner, kTRUE);
 }
 
 //_____________________________________________________________________________
@@ -83,10 +86,11 @@ AliTRDReconstructor::AliTRDReconstructor(const AliTRDReconstructor &r)
   :AliReconstructor(r)
   ,fSteerParam(r.fSteerParam)
 {
-  memcpy(fStreamLevel, r.fStreamLevel, 5*sizeof(UChar_t));
+  memcpy(fStreamLevel, r.fStreamLevel, kNtasks*sizeof(UChar_t));
   memcpy(fTCParams, r.fTCParams, 8*sizeof(Double_t));
-  memcpy(fDebugStream, r.fDebugStream, sizeof(TTreeSRedirector *) *4);
-  SetBit(kOwner, kFALSE);
+  memcpy(fDebugStream, r.fDebugStream, sizeof(TTreeSRedirector *) *kNtasks);
+  // ownership of debug streamers is not taken
+  CLRFLG(fSteerParam, kOwner);
 }
 
 //_____________________________________________________________________________
@@ -95,8 +99,8 @@ AliTRDReconstructor::~AliTRDReconstructor()
   if(fgClusters) {
     fgClusters->Delete(); delete fgClusters;
   }
-  if(TestBit(kOwner)){
-    for(Int_t itask = 0; itask < 4; itask++)
+  if(TESTBIT(fSteerParam, kOwner)){
+    for(Int_t itask = 0; itask < kNtasks; itask++)
       if(fDebugStream[itask]) delete fDebugStream[itask];
   }
 }
@@ -285,7 +289,7 @@ void AliTRDReconstructor::SetOption(Option_t *opt)
       TString levelstring(((TObjString*)(*stl)[2])->String());
       // Set the stream Level
       Int_t level = levelstring.Atoi();
-      AliTRDReconstructorTask task = kTracker;
+      ETRDReconstructorTask task = kTracker;
       if(taskstr.CompareTo("raw") == 0) task = kRawReader;     
       else if(taskstr.CompareTo("cl") == 0) task = kClusterizer;       
       else if(taskstr.CompareTo("tr") == 0) task = kTracker;
@@ -297,7 +301,7 @@ void AliTRDReconstructor::SetOption(Option_t *opt)
 }
 
 //_____________________________________________________________________________
-void AliTRDReconstructor::SetStreamLevel(Int_t level, AliTRDReconstructorTask task){
+void AliTRDReconstructor::SetStreamLevel(Int_t level, ETRDReconstructorTask task){
   //
   // Set the Stream Level for one of the tasks Clusterizer, Tracker or PID
   //
@@ -310,5 +314,6 @@ void AliTRDReconstructor::SetStreamLevel(Int_t level, AliTRDReconstructorTask ta
     TDirectory *savedir = gDirectory;
     fDebugStream[task] = new TTreeSRedirector(Form("TRD.%sDebug.root", taskname[task].Data()));
     savedir->cd();
+    SETFLG(fSteerParam, kOwner);
   }
 }
index 19b0ba7..61d6e35 100644 (file)
@@ -22,7 +22,7 @@ class AliRawReader;
 class AliTRDReconstructor: public AliReconstructor 
 {
 public:
-  enum AliTRDsteerParam {
+  enum ETRDReconstructorSteer {
     kDigitsConversion= BIT(0)
     ,kWriteClusters  = BIT(1)
     ,kSeeding        = BIT(2)
@@ -32,19 +32,18 @@ public:
     ,kDriftGas       = BIT(6)
     ,kHLT            = BIT(7)
     ,kCosmic         = BIT(8)
+    ,kOwner          = BIT(14)
   };
-  enum AliTRDReconstructorTask {
+  enum ETRDReconstructorTask {
     kRawReader    = 0
     ,kClusterizer = 1
     ,kTracker     = 2
     ,kPID         = 3
+    ,kNtasks      = 4  // number of reconsruction tasks
   };
-  enum AliTRDdriftGas {
-    kXe = 0,
-    kAr = 1
-  };
-  enum{
-    kOwner = BIT(14)
+  enum ETRDReconstructorGas {
+    kXe = 0
+    ,kAr = 1
   };
 
   AliTRDReconstructor();
@@ -56,16 +55,16 @@ public:
 
   virtual void        ConvertDigits(AliRawReader *rawReader, TTree *digitsTree) const;
   virtual AliTracker* CreateTracker() const;
-  TTreeSRedirector*   GetDebugStream(AliTRDReconstructorTask task) const { return task < 4 ? fDebugStream[task] : 0x0; }
+  TTreeSRedirector*   GetDebugStream(ETRDReconstructorTask task) const { return task < kNtasks ? fDebugStream[task] : 0x0; }
 
   virtual void        FillESD(AliRawReader *, TTree *clusterTree, AliESDEvent *esd) const { FillESD((TTree * )NULL, clusterTree, esd);                    }
   virtual void        FillESD(TTree *digitsTree, TTree *clusterTree, AliESDEvent *esd) const;
   static TClonesArray* GetClusters() {return fgClusters;}
   Int_t               GetNdEdxSlices() const     { return (Int_t)AliTRDpidUtil::GetNdEdxSlices(GetPIDMethod());}
-  AliTRDdriftGas      GetDriftGas() const        { return fSteerParam&kDriftGas ? kAr : kXe;}
+  ETRDReconstructorGas GetDriftGas() const        { return fSteerParam&kDriftGas ? kAr : kXe;}
   AliTRDpidUtil::ETRDPIDMethod       GetPIDMethod() const       { return fSteerParam&kSteerPID ? AliTRDpidUtil::kNN : AliTRDpidUtil::kLQ;}
   static const AliTRDrecoParam* GetRecoParam() { return dynamic_cast<const AliTRDrecoParam*>(AliReconstructor::GetRecoParam(2)); }
-  Int_t               GetStreamLevel(AliTRDReconstructorTask task) const    { return fStreamLevel[task];} 
+  Int_t               GetStreamLevel(ETRDReconstructorTask task) const    { return fStreamLevel[task];} 
   inline void         GetTCParams(Double_t *par) const;
   virtual Bool_t      HasDigitConversion() const                   { return fSteerParam&kDigitsConversion;  };
   Bool_t              IsWritingClusters() const  { return fSteerParam&kWriteClusters;}
@@ -81,13 +80,13 @@ public:
   static void         SetClusters(TClonesArray *clusters) {fgClusters = clusters;}
   void               SetOption(Option_t *opt);
   inline void         SetTCParams(Double_t *par);
-  void                SetStreamLevel(Int_t level, AliTRDReconstructorTask task= kTracker);
+  void                SetStreamLevel(Int_t level, ETRDReconstructorTask task= kTracker);
 
 private:
-  UChar_t           fStreamLevel[5];      // stream level for each reconstruction task         
+  UChar_t           fStreamLevel[kNtasks];// stream level for each reconstruction task         
   UInt_t            fSteerParam;          // steering flags
   Double_t          fTCParams[8];         // Tail Cancellation parameters for drift gases 
-  TTreeSRedirector *fDebugStream[4];      // Debug Streamer container;
+  TTreeSRedirector *fDebugStream[kNtasks];// Debug Streamer container;
  
   static TClonesArray *fgClusters;    // list of clusters for local reconstructor