#include "TString.h"
#include "AliLog.h"
+#include "AliESDEvent.h"
+#include "AliESDpid.h"
#include "AliRawReader.h"
+#include "AliTOFHeader.h"
#include "AliTOFClusterFinder.h"
#include "AliTOFClusterFinderV1.h"
#include "AliTOFtrackerMI.h"
#include "AliTOFtracker.h"
#include "AliTOFtrackerV1.h"
+#include "AliTOFT0maker.h"
#include "AliTOFReconstructor.h"
class TTree;
-class AliESDEvent;
-
ClassImp(AliTOFReconstructor)
//____________________________________________________________________
AliTOFReconstructor::AliTOFReconstructor()
: AliReconstructor(),
- fTOFcalib(0)
+ fTOFcalib(0)/*,
+ fTOFT0maker(0)*/
{
//
// ctor
//
//Retrieving the TOF calibration info
- fTOFcalib = new AliTOFcalib();
+ fTOFcalib = new AliTOFcalib();
+ fTOFcalib->Init();
+
+#if 0
fTOFcalib->CreateCalObjects();
if(!fTOFcalib->ReadParOnlineDelayFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
if(!fTOFcalib->ReadParOnlineStatusFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
if(!fTOFcalib->ReadParOfflineFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
+
+
+ if(!fTOFcalib->ReadDeltaBCOffsetFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
+ if(!fTOFcalib->ReadCTPLatencyFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
+ if(!fTOFcalib->ReadT0FillFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
+ if(!fTOFcalib->ReadRunParamsFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);}
+#endif
+
}
//_____________________________________________________________________________
//
// dtor
//
+
delete fTOFcalib;
+
+ //delete fTOFT0maker;
+
}
//_____________________________________________________________________________
//
TString optionString = GetOption();
+
// use V1 cluster finder if selected
if (optionString.Contains("ClusterizerV1")) {
static AliTOFClusterFinderV1 tofClus(fTOFcalib);
// decoder version option
- if (optionString.Contains("DecoderV1"))
- tofClus.SetDecoderVersion(1);
- else
+ if (optionString.Contains("DecoderV0")) {
tofClus.SetDecoderVersion(0);
+ }
+ else if (optionString.Contains("DecoderV1")) {
+ tofClus.SetDecoderVersion(1);
+ }
+ else {
+ tofClus.SetDecoderVersion(2);
+ }
tofClus.Digits2RecPoints(rawReader, clustersTree);
}
static AliTOFClusterFinder tofClus(fTOFcalib);
// decoder version option
- if (optionString.Contains("DecoderV1"))
- tofClus.SetDecoderVersion(1);
- else
+ if (optionString.Contains("DecoderV0")) {
tofClus.SetDecoderVersion(0);
+ }
+ else if (optionString.Contains("DecoderV1")) {
+ tofClus.SetDecoderVersion(1);
+ }
+ else {
+ tofClus.SetDecoderVersion(2);
+ }
tofClus.Digits2RecPoints(rawReader, clustersTree);
}
static AliTOFClusterFinderV1 tofClus(fTOFcalib);
// decoder version option
- if (optionString.Contains("DecoderV1"))
- tofClus.SetDecoderVersion(1);
- else
+ if (optionString.Contains("DecoderV0")) {
tofClus.SetDecoderVersion(0);
+ }
+ else if (optionString.Contains("DecoderV1")) {
+ tofClus.SetDecoderVersion(1);
+ }
+ else {
+ tofClus.SetDecoderVersion(2);
+ }
tofClus.Digits2RecPoints(digitsTree, clustersTree);
}
static AliTOFClusterFinder tofClus(fTOFcalib);
// decoder version option
- if (optionString.Contains("DecoderV1"))
- tofClus.SetDecoderVersion(1);
- else
+ if (optionString.Contains("DecoderV0")) {
tofClus.SetDecoderVersion(0);
+ }
+ else if (optionString.Contains("DecoderV1")) {
+ tofClus.SetDecoderVersion(1);
+ }
+ else {
+ tofClus.SetDecoderVersion(2);
+ }
tofClus.Digits2RecPoints(digitsTree, clustersTree);
}
static AliTOFClusterFinderV1 tofClus(fTOFcalib);
// decoder version option
- if (optionString.Contains("DecoderV1"))
- tofClus.SetDecoderVersion(1);
- else
+ if (optionString.Contains("DecoderV0")) {
tofClus.SetDecoderVersion(0);
+ }
+ else if (optionString.Contains("DecoderV1")) {
+ tofClus.SetDecoderVersion(1);
+ }
+ else {
+ tofClus.SetDecoderVersion(2);
+ }
tofClus.Raw2Digits(reader, digitsTree);
}
static AliTOFClusterFinder tofClus(fTOFcalib);
// decoder version option
- if (optionString.Contains("DecoderV1"))
- tofClus.SetDecoderVersion(1);
- else
+ if (optionString.Contains("DecoderV0")) {
tofClus.SetDecoderVersion(0);
+ }
+ else if (optionString.Contains("DecoderV1")) {
+ tofClus.SetDecoderVersion(1);
+ }
+ else {
+ tofClus.SetDecoderVersion(2);
+ }
tofClus.Raw2Digits(reader, digitsTree);
}
return tracker;
}
+
+//_____________________________________________________________________________
+void AliTOFReconstructor::FillEventTimeWithTOF(AliESDEvent *event, AliESDpid *esdPID)
+{
+ //
+ // Fill AliESDEvent::fTOFHeader variable
+ // It contains the event_time estiamted by the TOF combinatorial algorithm
+ //
+
+ if (!GetRecoParam()) AliFatal("cannot get TOF RECO params");
+
+ Float_t tofResolution = GetRecoParam()->GetTimeResolution();// TOF time resolution in ps
+ AliTOFT0maker *tofT0maker = new AliTOFT0maker(esdPID);
+ tofT0maker->SetTimeResolution(tofResolution);
+ tofT0maker->ComputeT0TOF(event);
+ tofT0maker->WriteInESD(event);
+ tofT0maker->~AliTOFT0maker();
+ delete tofT0maker;
+
+ esdPID->SetTOFResponse(event,(AliESDpid::EStartTimeType_t)GetRecoParam()->GetStartTimeType());
+
+}
+
+//_____________________________________________________________________________
+void
+AliTOFReconstructor::FillESD(TTree *, TTree *, AliESDEvent * /*esdEvent*/) const
+{
+ //
+ // correct Texp
+ //
+ //
+
+ // fTOFcalib->CalibrateTExp(esdEvent);
+}