]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDReconstructor.cxx
This is the detector algorithm for the FMD to be used for the pulser gain runs.
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.cxx
index 85c6dfe32ee4c0596debaff4466ec3d5daa6c08d..bb1717fa1d9921e00cd7d247b2c735cc9a10b563 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
@@ -80,6 +78,7 @@ AliFMDReconstructor::AliFMDReconstructor()
   // Make a new FMD reconstructor object - default CTOR.  
   SetNoiseFactor();
   SetAngleCorrect();
+  if (AliDebugLevel() > 0) fDiagnostics = kTRUE;
 }
   
 
@@ -140,7 +139,7 @@ AliFMDReconstructor::~AliFMDReconstructor()
 
 //____________________________________________________________________
 void 
-AliFMDReconstructor::Init(AliRunLoader* /*runLoader*/
+AliFMDReconstructor::Init() 
 {
   // Initialize the reconstructor 
 
@@ -162,6 +161,7 @@ AliFMDReconstructor::Init(AliRunLoader* /*runLoader*/)
   
   // Check if we need diagnostics histograms 
   if (!fDiagnostics) return;
+  AliInfo("Making diagnostics histograms");
   fDiagStep1   = new TH2I("diagStep1", "Read ADC vs. Noise surpressed ADC",
                        1024, -.5, 1023.5, 1024, -.5, 1023.5);
   fDiagStep1->SetDirectory(0);
@@ -224,6 +224,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, 
@@ -336,8 +356,6 @@ AliFMDReconstructor::SubtractPedestal(AliFMDDigit* digit) const
   // load this to subtract a pedestal that was given in a database or
   // something like that. 
 
-  Int_t             counts = 0;
-  Int_t             adc    = 0;
   AliFMDParameters* param  = AliFMDParameters::Instance();
   Float_t           ped    = param->GetPedestal(digit->Detector(), 
                                                digit->Ring(), 
@@ -349,10 +367,11 @@ AliFMDReconstructor::SubtractPedestal(AliFMDDigit* digit) const
                                                     digit->Strip());
   AliFMDDebug(15, ("Subtracting pedestal %f from signal %d", 
                   ped, digit->Counts()));
-  if (digit->Count3() > 0)      adc = digit->Count3();
-  else if (digit->Count2() > 0) adc = digit->Count2();
-  else                          adc = digit->Count1();
-  counts = TMath::Max(Int_t(adc - ped), 0);
+  // if (digit->Count3() > 0)      adc = digit->Count3();
+  // else if (digit->Count2() > 0) adc = digit->Count2();
+  // else                          adc = digit->Count1();
+  Int_t adc    = digit->Counts();
+  Int_t counts = TMath::Max(Int_t(adc - ped), 0);
   if (counts < noise * fNoiseFactor) counts = 0;
   if (counts > 0) AliFMDDebug(15, ("Got a hit strip"));
   if (fDiagStep1) fDiagStep1->Fill(adc, counts);
@@ -504,78 +523,13 @@ AliFMDReconstructor::FillESD(TTree*  /* digitsTree */,
   if (fDiagAll)   fDiagAll->Reset();
 }
 
-
 //____________________________________________________________________
-void 
-AliFMDReconstructor::Reconstruct(AliRawReader* reader,
-                                TTree* /* ctree */) 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"));
-#if 1
-  TClonesArray* array = new TClonesArray("AliFMDDigit");
-  // if (ctree) ctree->Branch("FMD", &array);
-  AliFMDRawReader rawRead(reader, 0);
-  rawRead.ReadAdcs(array);
-  // ctree->Fill();
-  // Question - how to get the digits in this case? 
-  ProcessDigits(array);
-  // Reconstruct(array, ctree);
-  array->Delete();
-  delete array;
-#else
-  AliError("MayNotUse");
-#endif
-}
-//____________________________________________________________________
-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* 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 raw reader, tree, and ESD"));
-#if 1
-  FillESD((TTree*)0, (TTree*)0, esd);
-#else
-  AliError("MayNotUse");
-#endif
-}
-//____________________________________________________________________
-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);
 }
 
 //____________________________________________________________________