// Default constructor
//
memset(fDetectorPID, 0, sizeof(AliHFEpidBase *) * kNdetectorPID);
+ memset(fTPCBetheBlochParameters, 0, sizeof(Double_t) * 5);
}
//____________________________________________________________
// Copy Constructor
//
memset(fDetectorPID, 0, sizeof(AliHFEpidBase *) * kNdetectorPID);
+ memcpy(fTPCBetheBlochParameters, c.fTPCBetheBlochParameters, sizeof(Double_t)*5);
if(c.fDetectorPID[kMCpid])
fDetectorPID[kMCpid] = new AliHFEpidMC(*(dynamic_cast<AliHFEpidMC *>(c.fDetectorPID[kMCpid])));
if(c.fDetectorPID[kTPCpid])
fDebugLevel = c.fDebugLevel;
memset(fDetectorPID, 0, sizeof(AliHFEpidBase *) * kNdetectorPID);
+ memcpy(fTPCBetheBlochParameters, c.fTPCBetheBlochParameters, sizeof(Double_t)*5);
if(c.fDetectorPID[kMCpid])
fDetectorPID[kMCpid] = new AliHFEpidMC(*(dynamic_cast<AliHFEpidMC *>(c.fDetectorPID[kMCpid])));
if(c.fDetectorPID[kTPCpid])
fDetectorPID[kTPCpid] = new AliHFEpidTPC(*(dynamic_cast<AliHFEpidTPC *>(c.fDetectorPID[kTPCpid])));
+ if(fTPCBetheBlochParameters[0] > 1e-6)
+ (dynamic_cast<AliHFEpidTPC *>(fDetectorPID[kTPCpid])->SetBetheBlochParameters(fTPCBetheBlochParameters));
if(c.fDetectorPID[kTRDpid])
fDetectorPID[kTRDpid] = new AliHFEpidTRD(*(dynamic_cast<AliHFEpidTRD *>(c.fDetectorPID[kTOFpid])));
if(c.fDetectorPID[kTOFpid])
if(det->String().CompareTo("TPC") == 0){
AliInfo("Doing TPC PID");
fDetectorPID[kTPCpid] = new AliHFEpidTPC("TPC PID");
+ if(fTPCBetheBlochParameters[0] > 1e-6)
+ (dynamic_cast<AliHFEpidTPC *>(fDetectorPID[kTPCpid])->SetBetheBlochParameters(fTPCBetheBlochParameters));
SETBIT(fEnabledDetectors, kTPCpid);
} else if(det->String().CompareTo("TRD") == 0){
fDetectorPID[kTRDpid] = new AliHFEpidTRD("TRD PID");
// TPC alone, 3-sigma cut
//
AliHFEpidTPC *pid = new AliHFEpidTPC("strat1TPCpid");
- pid->SetTPCnSigma(3);
+ if(fTPCBetheBlochParameters[0] > 1e-6)
+ pid->SetBetheBlochParameters(fTPCBetheBlochParameters);
+ pid->SetTPCnSigma(1);
Bool_t status = pid->InitializePID();
if(IsQAOn() && status) pid->SetQAOn(fQAlist);
if(HasMCData() && status) pid->SetHasMCData();
// TPC alone, symmetric 3 sigma cut and asymmetric sigma cut in the momentum region between 2GeV/c and 10 GeV/c and sigma between -1 and 100
//
AliHFEpidTPC *pid = new AliHFEpidTPC("strat2TPCpid");
+ if(fTPCBetheBlochParameters[0] > 1e-6)
+ pid->SetBetheBlochParameters(fTPCBetheBlochParameters);
pid->SetTPCnSigma(3);
pid->SetAsymmetricTPCsigmaCut(2., 10., 0., 4.);
Bool_t status = pid->InitializePID();
// TPC alone, symmetric 3 sigma cut and 2 - -100 sigma pion rejection
//
AliHFEpidTPC *pid = new AliHFEpidTPC("strat3TPCpid");
+ if(fTPCBetheBlochParameters[0] > 1e-6)
+ pid->SetBetheBlochParameters(fTPCBetheBlochParameters);
pid->SetTPCnSigma(3);
pid->SetRejectParticle(AliPID::kPion, 0., -100., 10., 1.);
Bool_t status = pid->InitializePID();
// Combined TPC-TOF PID, combination is discribed in the funtion MakePidTpcTof
//
AliHFEpidTPC *tpcpid = new AliHFEpidTPC("strat6TPCpid");
+ if(fTPCBetheBlochParameters[0] > 1e-6)
+ tpcpid->SetBetheBlochParameters(fTPCBetheBlochParameters);
AliHFEpidTOF *tofpid = new AliHFEpidTOF("strat6TOFpid");
Bool_t status = tpcpid->InitializePID();
if(!status)