fParticleID(AliPID::kUnknown),
fParticleProbability(.9),
fAllowTOFmismatchFlag(kFALSE),
- fRequireStrictTOFTPCagreement(kFALSE)
+ fRequireStrictTOFTPCagreement(kFALSE),
+ fCutRejectElectronsWithTPCpid(kFALSE)
{
//io constructor
for ( Int_t i=0; i<5; i++ ) { fProbBayes[i]=0.0; }
fParticleID(AliPID::kUnknown),
fParticleProbability(.9),
fAllowTOFmismatchFlag(kFALSE),
- fRequireStrictTOFTPCagreement(kFALSE)
+ fRequireStrictTOFTPCagreement(kFALSE),
+ fCutRejectElectronsWithTPCpid(kFALSE)
{
//constructor
SetName(name);
fParticleID(that.fParticleID),
fParticleProbability(that.fParticleProbability),
fAllowTOFmismatchFlag(that.fAllowTOFmismatchFlag),
- fRequireStrictTOFTPCagreement(that.fRequireStrictTOFTPCagreement)
+ fRequireStrictTOFTPCagreement(that.fRequireStrictTOFTPCagreement),
+ fCutRejectElectronsWithTPCpid(that.fCutRejectElectronsWithTPCpid)
{
//copy constructor
if (that.fTPCpidCuts) fTPCpidCuts = new TMatrixF(*(that.fTPCpidCuts));
fParticleProbability=that.fParticleProbability;
fAllowTOFmismatchFlag=that.fAllowTOFmismatchFlag;
fRequireStrictTOFTPCagreement=that.fRequireStrictTOFTPCagreement;
+ fCutRejectElectronsWithTPCpid=that.fCutRejectElectronsWithTPCpid;
memcpy(fProbBayes,that.fProbBayes,sizeof(fProbBayes));
return *this;
break;
}
}
+ if (fCutRejectElectronsWithTPCpid)
+ {
+ //reject electrons using standard TPC pid
+ Double_t pidTPC[AliPID::kSPECIES];
+ track->GetTPCpid(pidTPC);
+ if (pidTPC[AliPID::kElectron]<fParticleProbability) pass=kFALSE;
+ }
if (fQA)
{
if (pass) QAafter(0)->Fill(track->GetP(),beta);
Bool_t GetAllowTOFmismatchFlag() const {return fAllowTOFmismatchFlag;}
void SetRequireStrictTOFTPCagreement(Bool_t b=kTRUE) {fRequireStrictTOFTPCagreement=b;}
Bool_t GetRequireStrictTOFTPCagreement() const {return fRequireStrictTOFTPCagreement;}
+ void SetRejectElectronsWithTPCpid(Bool_t b=kTRUE) {fCutRejectElectronsWithTPCpid=b;}
//these should maybe be protected
Bool_t PassesCuts(AliVParticle* track);
Double_t fParticleProbability; //desired prob for a particle type
Bool_t fAllowTOFmismatchFlag; //allow TOFmismatch flag=1 in ESD
Bool_t fRequireStrictTOFTPCagreement; //require stricter than TOFmismatch flag TOF-TPC agreement
+ Bool_t fCutRejectElectronsWithTPCpid; //reject electrons with TPC pid
// part added by F. Noferini
static const Int_t fgkPIDptBin = 20; // pT bins for priors