// #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
// Make a new FMD reconstructor object - default CTOR.
SetNoiseFactor();
SetAngleCorrect();
+ if (AliDebugLevel() > 0) fDiagnostics = kTRUE;
}
//____________________________________________________________________
void
-AliFMDReconstructor::Init(AliRunLoader* /*runLoader*/)
+AliFMDReconstructor::Init()
{
// Initialize the reconstructor
// 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);
}
+//____________________________________________________________________
+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,
// 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(),
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);
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);
}
//____________________________________________________________________