#ifndef ALITRDRECOTASK_H
#include "AliTRDrecoTask.h"
#endif
-#ifndef ALILOG_H
-#include "AliLog.h"
-#endif
class TCanvas;
class TObjArray;
,kGain = 2
};
enum ECheckBits {
- kSaveAs = BIT(22) // save intermediary results
- ,kCalibrated = BIT(23) // load calibration
+ kSaveAs = BIT(21) // save intermediary results
+ ,kCalibrated = BIT(22) // load calibration
+ ,kGlobal = BIT(23) // load global position
};
AliTRDclusterResolution();
AliTRDclusterResolution(const char *name);
void UserExec(Option_t *);
Int_t GetDetector() const { return fDet; }
void GetPad(Int_t &c, Int_t &r) const { c=fCol, r=fRow; return;}
+ inline void GetDiffCoeff(Float_t &dt, Float_t &dl) const;
inline Float_t GetExB() const;
inline Float_t GetVdrift() const;
inline Float_t GetT0() const;
Bool_t GetRefFigure(Int_t ifig);
Bool_t HasProcess(EResultContainer bit) const {return TESTBIT(fSubTaskMap, bit);}
Bool_t IsCalibrated() const { return TestBit(kCalibrated);}
+ Bool_t HasGlobalPosition() const { return TestBit(kGlobal);}
Bool_t IsUsingCalibParam(ECalibrationParam par) const {return TESTBIT(fUseCalib, par);}
TObjArray* Histos();
Bool_t IsVisual() const {return Bool_t(fCanvas);}
Bool_t IsSaveAs() const {return TestBit(kSaveAs);}
+ Bool_t LoadCalibration();
+ Bool_t LoadGlobalChamberPosition();
Bool_t PostProcess();
void SetCalibrationRegion(Int_t det, Int_t col=-1, Int_t row=-1);
void SetVisual();
protected:
void ProcessCharge();
- void ProcessCenterPad();
+ Bool_t ProcessNormalTracks();
void ProcessSigma();
void ProcessMean();
private:
AliTRDclusterResolution(const AliTRDclusterResolution&);
AliTRDclusterResolution& operator=(const AliTRDclusterResolution&);
- Bool_t LoadCalibration();
TCanvas *fCanvas; //! visualization canvas
TObjArray *fInfo; //! list of cluster info
Char_t fCol; // pad column (-1 for all)
Char_t fRow; // pad row (-1 for all)
Float_t fExB; // tg of the Lorentz angle
+ Float_t fDt; // diffusion coeff. transversal
+ Float_t fDl; // diffusion coeff. longitudinal
Float_t fVdrift; // mean drift velocity
Float_t fT0; // time 0
Float_t fGain; // gain
+ Float_t fXch; // anode wire position for chamber
+ Float_t fZch; // Z position for calibration element
+ Float_t fH; // tg of tilting angle
static const Float_t fgkTimeBinLength;// time bin length (invers of sampling frequency)
// working named variables
Float_t fR[4]; // mean/sgm resolution
Float_t fP[4]; // mean/sgm pulls
- ClassDef(AliTRDclusterResolution, 5) // cluster resolution
+ ClassDef(AliTRDclusterResolution, 6) // cluster resolution
};
+//___________________________________________________
+inline void AliTRDclusterResolution::GetDiffCoeff(Float_t &dt, Float_t &dl) const
+{
+ if(!IsCalibrated()) printf(" - W - AliTRDclusterResolution::GetDiffCoeff() : Instance not calibrated.\n");
+ dt=fDt; dl=fDl;
+ return;
+}
+
+
//___________________________________________________
inline Float_t AliTRDclusterResolution::GetExB() const
{
- if(!IsCalibrated()) AliWarning("Instance not calibrated.");
+ if(!IsCalibrated()) printf(" - W - AliTRDclusterResolution::GetExB() : Instance not calibrated.\n");
return fExB;
}
//___________________________________________________
inline Float_t AliTRDclusterResolution::GetVdrift() const
{
- if(!IsCalibrated()) AliWarning("Instance not calibrated.");
+ if(!IsCalibrated()) printf(" - W - AliTRDclusterResolution::GetVdrift() : Instance not calibrated.\n");
return fVdrift;
}
//___________________________________________________
inline Float_t AliTRDclusterResolution::GetT0() const
{
- if(!IsCalibrated()) AliWarning("Instance not calibrated.");
+ if(!IsCalibrated()) printf(" - W - AliTRDclusterResolution::GetT0() : Instance not calibrated.\n");
return fT0;
}
//___________________________________________________
inline Float_t AliTRDclusterResolution::GetGain() const
{
- if(!IsCalibrated()) AliWarning("Instance not calibrated.");
+ if(!IsCalibrated()) printf(" - W - AliTRDclusterResolution::GetGain() : Instance not calibrated.\n");
return fGain;
}