class TFile;
class TString;
class AliEMCALClusterizer;
-class AliEMCALRecParam;
+// class AliEMCALRecParam;
class AliEMCALAfterBurnerUF;
+#include "AliEMCALRecParam.h"
+
class AliEMCALTenderSupply: public AliTenderSupply {
public:
virtual ~AliEMCALTenderSupply();
enum NonlinearityFunctions{kPi0MC=0,kPi0GammaGamma=1,kPi0GammaConversion=2,kNoCorrection=3,kBeamTest=4,kBeamTestCorrected=5};
+ enum MisalignSettngs{kdefault=0,kSurveybyS=1, kSurveybyM=2};
virtual void Init();
virtual void ProcessEvent();
void SwitchOnRecalculateClusPos() { fRecalClusPos = kTRUE ;}
void SwitchOffRecalculateClusPos() { fRecalClusPos = kFALSE ;}
+ void SetMisalignmentMatrixSurvey(Int_t misalignSurvey) {fMisalignSurvey = misalignSurvey ;}
+ Int_t GetMisalignmentMatrixSurvey() const {return fMisalignSurvey ;}
+
void SwitchOnCellFiducialRegion() { fFiducial = kTRUE ;}
void SwitchOffCellFiducialRegion() { fFiducial = kFALSE ;}
void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ;}
void SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fEMCALMatrix[i] = m ;}
- AliEMCALRecParam *GetRecParam() const { return fRecParam ;}
+// void SetRecParam(const AliEMCALRecParam* recParam) { fRecParam = new AliEMCALRecParam(*recParam);}
+
+ AliEMCALRecParam *GetRecParam() const {return fRecParam ;}
+
- AliEMCALRecoUtils *GetRecoUtils() const { return fEMCALRecoUtils ;}
+ AliEMCALRecoUtils *GetRecoUtils() const { return fEMCALRecoUtils ;}
void SetOCDBPath(const char *path) { fOCDBpath = path ;}
+
+ void SwitchOnUpdateCell() { fUpdateCell = kTRUE ;}
+ void SwitchOffUpdateCell() { fUpdateCell = kFALSE ;}
private:
- Bool_t InitBadChannels();
+ Int_t InitBadChannels();
Bool_t InitClusterization();
+ void InitRecParam();
+
Bool_t InitMisalignMatrix();
- Bool_t InitRecalib();
+ Int_t InitRecalib();
void Clusterize();
void RecalibrateCells();
+ void UpdateCells();
+
void SetClusterMatchedToTrack (AliESDEvent *event);
void SetTracksMatchedToCluster(AliESDEvent *event);
Int_t fNonLinearThreshold; // non linearity threshold value for kBeamTesh non linearity function
Bool_t fReCalibCluster; // switch for Recalibrate clusters
Bool_t fReCalibCell; // switch for Recalibrate cell
+ Bool_t fUpdateCell; // Flag cell update
TGeoHMatrix *fEMCALMatrix[10]; // geometry matrices with misalignments
Bool_t fRecalClusPos; // switch for applying missalignment
Bool_t fFiducial; // switch for checking cells in the fiducial region
Bool_t fGeomMatrixSet; // set geometry matrices only once, for the first event.
Bool_t fLoadGeomMatrices; // matrices set from configuration, not get from geometry.root or from ESDs/AODs
AliEMCALRecParam *fRecParam; // reconstruction parameters container
+ Bool_t fRecParamSet; // Flag if rec param already set
TString fOCDBpath; // path with OCDB location
AliEMCALAfterBurnerUF *fUnfolder; //! unfolding procedure
TClonesArray *fDigitsArr; //! digits array
TObjArray *fClusterArr; //! recpoints array
-
+ Int_t fMisalignSurvey; //! misalignment matrix survey
AliEMCALTenderSupply(const AliEMCALTenderSupply&c);
AliEMCALTenderSupply& operator= (const AliEMCALTenderSupply&c);
- ClassDef(AliEMCALTenderSupply, 5); // EMCAL tender task
+ ClassDef(AliEMCALTenderSupply, 6); // EMCAL tender task
};
+/*
+inline AliEMCALRecParam* AliEMCALTenderSupply::GetRecParam() const
+{
+ if(!fRecParam)
+ {
+ printf("Warning: object not initialized yet, returns a null pointer!\n");
+ }
+ return fRecParam;
+}
+*/
#endif