#include "AliTRDgeometry.h"
#include "AliTRDdataArrayI.h"
#include "AliTRDcalibDB.h"
-#include "AliTRDCommonParam.h"
#include "AliTRDrawData.h"
#include "AliTRDtrigger.h"
#include "AliTRDmodule.h"
#include "AliTRDtrigParam.h"
#include "AliTRDmcm.h"
#include "AliTRDzmaps.h"
-#include "AliTRDCalibra.h"
+#include "AliTRDCalibraFillHisto.h"
#include "Cal/AliTRDCalPIDLQ.h"
ClassImp(AliTRDtrigger)
:TNamed()
,fField(0)
,fGeo(NULL)
- ,fCalib(NULL)
- ,fCParam(NULL)
- ,fTrigParam(NULL)
,fRunLoader(NULL)
,fDigitsManager(NULL)
,fTrackletTree(NULL)
:TNamed(name,title)
,fField(0)
,fGeo(NULL)
- ,fCalib(NULL)
- ,fCParam(NULL)
- ,fTrigParam(NULL)
,fRunLoader(NULL)
,fDigitsManager(new AliTRDdigitsManager())
,fTrackletTree(NULL)
:TNamed(p)
,fField(p.fField)
,fGeo(NULL)
- ,fCalib(NULL)
- ,fCParam(NULL)
- ,fTrigParam(NULL)
,fRunLoader(NULL)
,fDigitsManager(NULL)
,fTrackletTree(NULL)
// AliTRDtrigger copy constructor
//
+ if (fGeo) {
+ delete fGeo;
+ }
+ fGeo = new AliTRDgeometry();
+
}
///_____________________________________________________________________________
delete fTracks;
}
+ if (fGeo) {
+ delete fGeo;
+ }
+
}
//_____________________________________________________________________________
void AliTRDtrigger::Init()
{
- fModule = new AliTRDmodule(fTrigParam);
+ fModule = new AliTRDmodule();
fTracks->Clear();
- fField = fTrigParam->GetField();
- fGeo = (AliTRDgeometry*)AliTRDgeometry::GetGeometry(fRunLoader);
+ // The magnetic field strength
+ Double_t x[3] = { 0.0, 0.0, 0.0 };
+ Double_t b[3];
+ gAlice->Field(x,b); // b[] is in kilo Gauss
+ fField = b[2] * 0.1; // Tesla
+
+ fGeo = new AliTRDgeometry();
- fCalib = AliTRDcalibDB::Instance();
- if (!fCalib) {
+ if (!AliTRDcalibDB::Instance()) {
AliError("No instance of AliTRDcalibDB.");
return;
}
- fCParam = AliTRDCommonParam::Instance();
- if (!fCParam) {
- AliError("No common parameters.");
- return;
- }
-
}
//_____________________________________________________________________________
}
+//_____________________________________________________________________________
+Bool_t AliTRDtrigger::ReadDigits(TTree *digitsTree)
+{
+ //
+ // Reads the digits arrays from the input tree
+ //
+
+ return (fDigitsManager->ReadDigits(digitsTree));
+
+}
+
//_____________________________________________________________________________
Bool_t AliTRDtrigger::ReadTracklets(AliRunLoader *rl)
{
for (itrk = 0; itrk < tracklets->GetEntriesFast(); itrk++) {
- fTrk = (AliTRDmcmTracklet*)tracklets->UncheckedAt(itrk);
+ fTrk = (AliTRDmcmTracklet *) tracklets->UncheckedAt(itrk);
idet = fTrk->GetDetector();
iStack = idet / (AliTRDgeometry::Nplan());
Int_t sectEnd = AliTRDgeometry::Nsect();
fTrkTest = new AliTRDmcmTracklet(0,0,0);
- fMCM = new AliTRDmcm(fTrigParam,0);
+ fMCM = new AliTRDmcm(0);
Int_t time;
Int_t col;
}
}
- Int_t nRowMax = fCParam->GetRowMax(iplan,icham,isect);
- Int_t nColMax = fCParam->GetColMax(iplan);
- Int_t nTimeTotal = fCalib->GetNumberOfTimeBins();
+ Int_t nRowMax = fGeo->GetRowMax(iplan,icham,isect);
+ Int_t nColMax = fGeo->GetColMax(iplan);
+ Int_t nTimeTotal = AliTRDcalibDB::Instance()->GetNumberOfTimeBins();
// Get the digits
fDigits = fDigitsManager->GetDigits(idet);
}
}
- if (fTrigParam->GetTailCancelation()) {
- fMCM->Filter(fTrigParam->GetNexponential(),fTrigParam->GetFilterType());
+ if (AliTRDtrigParam::Instance()->GetTailCancelation()) {
+ fMCM->Filter(AliTRDtrigParam::Instance()->GetNexponential()
+ ,AliTRDtrigParam::Instance()->GetFilterType());
}
if (fMCM->Run()) {
continue;
}
- if (fTrigParam->GetDebugLevel() > 1) {
- AliInfo(Form("Add tracklet %d in col %02d \n",fNtracklets,fMCM->GetSeedCol()[iSeed]));
- }
+ AliDebug(2,Form("Add tracklet %d in col %02d \n",fNtracklets,fMCM->GetSeedCol()[iSeed]));
if (TestTracklet(idet,row,iSeed,0)) {
AddTracklet(idet,row,iSeed,fNtracklets++);
// Check first the tracklet pt
//
- Int_t nTimeTotal = fCalib->GetNumberOfTimeBins();
+ Int_t nTimeTotal = AliTRDcalibDB::Instance()->GetNumberOfTimeBins();
// Calibration fill 2D
- AliTRDCalibra *calibra = AliTRDCalibra::Instance();
+ AliTRDCalibraFillHisto *calibra = AliTRDCalibraFillHisto::Instance();
if (!calibra) {
AliInfo("Could not get Calibra instance\n");
}
fTrkTest->MakeClusAmpGraph();
- if (TMath::Abs(fTrkTest->GetPt()) < fTrigParam->GetLtuPtCut()) {
+ if (TMath::Abs(fTrkTest->GetPt()) < AliTRDtrigParam::Instance()->GetLtuPtCut()) {
return kFALSE;
}
// Add a found tracklet
//
- Int_t nTimeTotal = fCalib->GetNumberOfTimeBins();
+ Int_t nTimeTotal = AliTRDcalibDB::Instance()->GetNumberOfTimeBins();
fTrk = new AliTRDmcmTracklet(det,row,n);
// LTU Pt cut
fTrk->MakeTrackletGraph(fGeo,fField);
fTrk->MakeClusAmpGraph();
- if (TMath::Abs(fTrk->GetPt()) < fTrigParam->GetLtuPtCut()) {
+ if (TMath::Abs(fTrk->GetPt()) < AliTRDtrigParam::Instance()->GetLtuPtCut()) {
return;
}
icham = fGeo->GetChamber(trk->GetDetector());
isect = fGeo->GetSector(trk->GetDetector());
- nRowMax = fCParam->GetRowMax(iplan,icham,isect);
+ nRowMax = fGeo->GetRowMax(iplan,icham,isect);
row = trk->GetRow();
fModule->AddTracklet(trk->GetDetector(),
AliTRDgtuTrack *gtutrk;
for (Int_t i = 0; i < nModTracks; i++) {
gtutrk = (AliTRDgtuTrack*)fModule->GetTrack(i);
- if (TMath::Abs(gtutrk->GetPt()) < fTrigParam->GetGtuPtCut()) continue;
+ if (TMath::Abs(gtutrk->GetPt()) < AliTRDtrigParam::Instance()->GetGtuPtCut()) continue;
gtutrk->CookLabel();
gtutrk->MakePID();
AddTrack(gtutrk,det);