}
+//_____________________________________________________________________________
+AliTRDCalROC *AliTRDcalibDB::GetPRFROC(Int_t det)
+{
+ //
+ // Returns the PRF calibration object for a given ROC
+ // containing one number per pad
+ //
+
+ const AliTRDCalPad *calPad = dynamic_cast<const AliTRDCalPad *>
+ (GetCachedCDBObject(kIDPRFWidth));
+ if (!calPad) {
+ return 0;
+ }
+
+ AliTRDCalROC *roc = calPad->GetCalROC(det);
+ if (!roc) {
+ return 0;
+ }
+ else {
+ return roc;
+ }
+
+}
+
//_____________________________________________________________________________
Float_t AliTRDcalibDB::GetPRFWidth(Int_t det, Int_t col, Int_t row)
{
AliTRDCalROC *GetGainFactorROC(Int_t det);
const AliTRDCalDet *GetGainFactorDet();
+ AliTRDCalROC *GetPRFROC(Int_t det);
Float_t GetPRFWidth(Int_t det, Int_t col, Int_t row);
Int_t GetNumberOfTimeBins();
AliTRDcluster::AliTRDcluster()
:AliCluster()
,fDetector(0)
- ,fX(0)
,fTimeBin(0)
,fQ(0)
,fNPads(0)
,fCenter(0)
+ ,fPad(0)
{
//
// Default constructor
AliTRDcluster::AliTRDcluster(const AliTRDrecPoint &p)
:AliCluster()
,fDetector(p.GetDetector())
- ,fX(0)
,fTimeBin(p.GetLocalTimeBin())
,fQ(p.GetEnergy())
,fNPads(0)
,fCenter(0)
+ ,fPad(0)
{
//
// Constructor from AliTRDrecPoint
AliTRDcluster::AliTRDcluster(const AliTRDcluster &c)
:AliCluster()
,fDetector(c.fDetector)
- ,fX(c.fX)
,fTimeBin(c.fTimeBin)
,fQ(c.fQ)
,fNPads(c.fNPads)
,fCenter(c.fCenter)
+ ,fPad(c.fPad)
{
//
// Copy constructor
virtual void SetDetector(Int_t d) { fDetector = d; }
void SetLocalTimeBin(Int_t t) { fTimeBin = t; }
void SetQ(Float_t q) { fQ = q; }
- virtual void SetX(Float_t x) { fX = x; }
void SetCenter(Float_t c) { fCenter = c; }
+ void SetPad(UChar_t pad) { fPad = pad; }
void SetSignals(Short_t *signals);
void Set2pad() { SetBit(k2pad); fNPads = 2; }
void Set3pad() { SetBit(k3pad); fNPads = 3; }
virtual Int_t GetDetector() const { return fDetector; }
Int_t GetLocalTimeBin() const { return fTimeBin; }
Float_t GetQ() const { return fQ; }
- virtual Float_t GetX() const { return fX; }
Int_t GetNPads() const { return fNPads; }
Float_t GetCenter() const { return fCenter; }
+ Int_t GetPad() const { return fPad; }
Short_t *GetSignals() { return fSignals; }
Float_t GetSumS() const;
};
Int_t fDetector; // TRD detector number
- Float_t fX; // Local x position (first order proportional to time bin)
Char_t fTimeBin; // Time bin number within the detector
Float_t fQ; // Amplitude
Char_t fNPads; // Number of pads in cluster
Float_t fCenter; // Center of the cluster relative to the pad
+ UChar_t fPad; // Central pad number
Short_t fSignals[7]; // Signals in the cluster
- ClassDef(AliTRDcluster,3) // Cluster for the TRD
+ ClassDef(AliTRDcluster,4) // Cluster for the TRD
};
AliTRDcluster* AliTRDclusterizer::AddCluster(Double_t *pos, Int_t timebin
, Int_t det, Double_t amp
, Int_t *tracks, Double_t *sig
- , Int_t iType, Float_t center)
+ , Int_t iType, Int_t col
+ , Float_t center)
{
//
// Add a cluster for the TRD
c->SetSigmaZ2(sig[1]);
c->SetLocalTimeBin(timebin);
c->SetCenter(center);
+ c->SetPad(col);
if (tracks) {
c->AddTrackIndex(tracks);
TObjArray *RecPoints();
virtual AliTRDcluster *AddCluster(Double_t *pos, Int_t timebin, Int_t det
, Double_t amp, Int_t *tracks
- , Double_t *sig, Int_t iType, Float_t center = 0);
+ , Double_t *sig, Int_t iType
+ , Int_t col, Float_t center = 0);
protected:
,dummy
,clusterSig
,iType
- ,clusterPads[1]);
-
+ ,col
+ ,clusterPads[1]);
+
// Store the amplitudes of the pads in the cluster for later analysis
Short_t signals[7] = { 0, 0, 0, 0, 0, 0, 0 };
for (Int_t jPad = col-3; jPad <= col+3; jPad++) {