]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDReconstructor.cxx
Comments, grayspace.
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.cxx
index cd2d474ea208f06785f581363747d74903257612..acf44e3f102004b15ce631615a2dda39ac6af5f9 100644 (file)
@@ -35,8 +35,6 @@
 // #include <AliLog.h>                        // ALILOG_H
 // #include <AliRun.h>                        // ALIRUN_H
 #include "AliFMDDebug.h"
-// to be removed as soon as we remove it from the base class
-#include "AliRunLoader.h"
 #include "AliFMDGeometry.h"                // ALIFMDGEOMETRY_H
 #include "AliFMDParameters.h"              // ALIFMDPARAMETERS_H
 #include "AliFMDDigit.h"                   // ALIFMDDIGIT_H
@@ -140,7 +138,7 @@ AliFMDReconstructor::~AliFMDReconstructor()
 
 //____________________________________________________________________
 void 
-AliFMDReconstructor::Init(AliRunLoader* /*runLoader*/
+AliFMDReconstructor::Init() 
 {
   // Initialize the reconstructor 
 
@@ -224,6 +222,26 @@ AliFMDReconstructor::GetVertex() const
 }
   
 
+//____________________________________________________________________
+void 
+AliFMDReconstructor::Reconstruct(AliRawReader* /*reader*/, TTree*) const
+{
+  // Reconstruct directly from raw data (no intermediate output on
+  // digit tree or rec point tree).  
+  // Parameters: 
+  //   reader  Raw event reader 
+  //   ctree    Not used. 
+  AliError("Method is not used");
+#if 0
+  TClonesArray*   array = new TClonesArray("AliFMDDigit");
+  AliFMDRawReader rawRead(reader, 0);
+  rawRead.ReadAdcs(array);
+  ProcessDigits(array);
+  array->Delete();
+  delete array;
+#endif
+}
+
 //____________________________________________________________________
 void 
 AliFMDReconstructor::Reconstruct(TTree* digitsTree, 
@@ -306,16 +324,18 @@ AliFMDReconstructor::ProcessDigits(TClonesArray* digits) const
                      digit->Strip(), digit->Counts(), counts, edep, mult));
     
     // Create a `RecPoint' on the output branch. 
-    AliFMDRecPoint* m = 
-      new ((*fMult)[fNMult]) AliFMDRecPoint(digit->Detector(), 
-                                           digit->Ring(), 
-                                           digit->Sector(),
-                                           digit->Strip(),
-                                           eta, phi, 
-                                           edep, mult);
-    (void)m; // Suppress warnings about unused variables. 
-    fNMult++;
-
+    if (fMult) {
+      AliFMDRecPoint* m = 
+       new ((*fMult)[fNMult]) AliFMDRecPoint(digit->Detector(), 
+                                             digit->Ring(), 
+                                             digit->Sector(),
+                                             digit->Strip(),
+                                             eta, phi, 
+                                             edep, mult);
+      (void)m; // Suppress warnings about unused variables. 
+      fNMult++;
+    }
+    
     fESDObj->SetMultiplicity(digit->Detector(), digit->Ring(), 
                             digit->Sector(),  digit->Strip(), mult);
     fESDObj->SetEta(digit->Detector(), digit->Ring(), 
@@ -474,9 +494,12 @@ AliFMDReconstructor::FillESD(TTree*  /* digitsTree */,
 
   if (!fDiagnostics || !esd) return;
   static bool first = true;
-  Int_t evno = esd->GetEventNumberInFile(); // This is most likely NOT the event number you'd like to use. It has nothing to do with the 'real' event number.
-  AliFMDDebug(1, ("Writing diagnostics histograms to FMD.Diag.root/%03d",
-                  evno));
+  // This is most likely NOT the event number you'd like to use. It
+  // has nothing to do with the 'real' event number. 
+  // - That's OK.  We just use it for the name of the directory -
+  // nothing else.  Christian
+  Int_t evno = esd->GetEventNumberInFile(); 
+  AliFMDDebug(1, ("Writing diagnostics histograms to FMD.Diag.root/%03d",evno));
   TFile f("FMD.Diag.root", (first ? "RECREATE" : "UPDATE"));
   first = false;
   f.cd(); 
@@ -499,60 +522,13 @@ AliFMDReconstructor::FillESD(TTree*  /* digitsTree */,
   if (fDiagAll)   fDiagAll->Reset();
 }
 
-
-//____________________________________________________________________
-void 
-AliFMDReconstructor::Reconstruct(AliRawReader*,TTree*) const 
-{
-  // Cannot be used.  See member function with same name but with 2
-  // TTree arguments.   Make sure you do local reconstrucion 
-  AliFMDDebug(2, ("Calling FillESD with loader and tree"));
-  AliError("MayNotUse");
-}
-//____________________________________________________________________
-void 
-AliFMDReconstructor::Reconstruct(AliRunLoader*) const 
-{
-  // Cannot be used.  See member function with same name but with 2
-  // TTree arguments.   Make sure you do local reconstrucion 
-  AliFMDDebug(2, ("Calling FillESD with loader"));
-  AliError("MayNotUse");
-}
 //____________________________________________________________________
-void 
-AliFMDReconstructor::Reconstruct(AliRunLoader*, AliRawReader*) const 
-{
-  // Cannot be used.  See member function with same name but with 2
-  // TTree arguments.   Make sure you do local reconstrucion 
-  AliFMDDebug(2, ("Calling FillESD with loader and raw reader"));
-  AliError("MayNotUse");
-}
-//____________________________________________________________________
-void 
-AliFMDReconstructor::FillESD(AliRawReader*,TTree*,AliESDEvent*) const 
-{
-  // Cannot be used.  See member function with same name but with 2
-  // TTree arguments.   Make sure you do local reconstrucion 
-  AliFMDDebug(2, ("Calling FillESD with raw reader, tree, and ESD"));
-  AliError("MayNotUse");
-}
-//____________________________________________________________________
-void 
-AliFMDReconstructor::FillESD(AliRunLoader*,AliESDEvent*) const
-{
-  // Cannot be used.  See member function with same name but with 2
-  // TTree arguments.   Make sure you do local reconstrucion 
-  AliFMDDebug(2, ("Calling FillESD with loader and ESD"));
-  AliError("MayNotUse");
-}
-//____________________________________________________________________
-void 
-AliFMDReconstructor::FillESD(AliRunLoader*,AliRawReader*,AliESDEvent*) const 
+void
+AliFMDReconstructor::FillESD(AliRawReader*, TTree* clusterTree, 
+                            AliESDEvent* esd) const
 {
-  // Cannot be used.  See member function with same name but with 2
-  // TTree arguments.   Make sure you do local reconstrucion 
-  AliFMDDebug(2, ("Calling FillESD with loader, raw reader, and ESD"));
-  AliError("MayNotUse");
+  TTree* dummy = 0;
+  FillESD(dummy, clusterTree, esd);
 }
 
 //____________________________________________________________________