fNbins(101),
fDetRestr(-1),
fiPartRestr(-1),
- fDetProbRestr(1)
+ fDetProbRestr(1),
+ fProbThreshold(0.)
{
//
//Default constructor
fNbins(101),
fDetRestr(-1),
fiPartRestr(-1),
- fDetProbRestr(1)
+ fDetProbRestr(1),
+ fProbThreshold(0.)
{
//
//Constructor
fNbins(c.fNbins),
fDetRestr(c.fDetRestr),
fiPartRestr(c.fiPartRestr),
- fDetProbRestr(c.fDetProbRestr)
+ fDetProbRestr(c.fDetProbRestr),
+ fProbThreshold(c.fProbThreshold)
{
//
//Copy constructor
this->fDetRestr=c.fDetRestr;
this->fiPartRestr=c.fiPartRestr;
this->fDetProbRestr=c.fDetProbRestr;
+ this->fProbThreshold=c.fProbThreshold;
for(Int_t i=0; i< kNdets ; i++ ) {
this->fDets[i]=c.fDets[i];
if(fIsQAOn) fhCombProb[iP]->Fill(probability[iP]);
}
- AliPID::EParticleType sel = getpid.GetMostProbable();
- if(getpid.GetProbability(sel,fPriors)>fCut) iPart= (Int_t)sel;
- AliDebug(2,Form("probabilities : %f %f %f %f %f",probability[0],probability[1],probability[2],probability[3],probability[4]));
+
+ if (fProbThreshold > 0.) {
+ if (probability[fgParticleType] >= fProbThreshold) iPart=fgParticleType;
+ }
+ else {
+ AliPID::EParticleType sel = getpid.GetMostProbable();
+ if(getpid.GetProbability(sel,fPriors)>fCut) iPart= (Int_t)sel;
+ AliDebug(2,Form("probabilities : %f %f %f %f %f",probability[0],probability[1],probability[2],probability[3],probability[4]));
+ }
if(fCheckResponse && !Check(pid,iPart, fMinDiffResponse)) iPart=kCheckResp;
if(fCheckSelection && !Check(probability,iPart,fMinDiffProbability)) iPart=kCheckProb;
//
if(fgIsAOD){
- char *partic[AliPID::kSPECIES]={"electron","muon","pion","kaon","proton"};
+ const char *partic[AliPID::kSPECIES]={"electron","muon","pion","kaon","proton"};
for(Int_t iPart =0; iPart < AliPID::kSPECIES; iPart++)
{
- fhCombResp[iPart] = new TH1F(Form("rCombPart%i",iPart),Form(" %s combined response (AODTrack) ",partic[iPart]),fNbins,fXmin,fXmax);
+ fhCombResp[iPart] = new TH1F(Form("%s_rCombPart%i",GetName(),iPart),Form(" %s combined response (AODTrack) ",partic[iPart]),fNbins,fXmin,fXmax);
fhCombResp[iPart]->SetXTitle(Form(" %s combined response ",partic[iPart]));
fhCombResp[iPart]->SetYTitle("entries");
- AliDebug(1,Form( "rCombPart%i is booked!!",iPart));
- fhCombProb[iPart] = new TH1F(Form("pCombPart%i",iPart),Form("%s combined probability (AODTrack) ",partic[iPart]),fNbins,fXmin,fXmax);
- fhCombProb[iPart]->SetXTitle(Form(" %s combined response ",partic[iPart]));
+ AliDebug(1,Form( "%s is booked!!",fhCombResp[iPart]->GetName()));
+ fhCombProb[iPart] = new TH1F(Form("%s_pCombPart%i",GetName(),iPart),Form("%s combined probability (AODTrack) ",partic[iPart]),fNbins,fXmin,fXmax);
+ fhCombProb[iPart]->SetXTitle(Form(" %s combined probability ",partic[iPart]));
fhCombProb[iPart]->SetYTitle("entries");
- AliDebug(1,Form( "rCombProb%i is booked!!",iPart));
+ AliDebug(1,Form( "%s is booked!!",fhCombProb[iPart]->GetName()));
}
}
else {
- char *detect[kNdets]={"ITS","TPC","TRD","TOF","HMPID"};
- char *partic[AliPID::kSPECIES]={"electron","muon","pion","kaon","proton"};
+ const char *detect[kNdets]={"ITS","TPC","TRD","TOF","HMPID"};
+ const char *partic[AliPID::kSPECIES]={"electron","muon","pion","kaon","proton"};
for(Int_t iDet =0; iDet< kNdets; iDet++)
{
if(!fDets[iDet]) continue;
for(Int_t iP =0; iP < AliPID::kSPECIES; iP++){
- fhResp[iDet][iP] = new TH1F(Form("rDet%iPart%i",iDet,iP),Form("%s response for %s ",detect[iDet],partic[iP]),fNbins,fXmin,fXmax);
+ fhResp[iDet][iP] = new TH1F(Form("%s_rDet%iPart%i",GetName(),iDet,iP),Form("%s response for %s ",detect[iDet],partic[iP]),fNbins,fXmin,fXmax);
fhResp[iDet][iP]->SetXTitle(Form(" %s response ",partic[iP]));
fhResp[iDet][iP]->SetYTitle("entries");
- fhProb[iDet][iP] = new TH1F(Form("pDet%iPart%i",iDet,iP),Form("%s calculated probability for %s",detect[iDet],partic[iP]),fNbins,fXmin,fXmax);
- fhProb[iDet][iP]->SetXTitle(Form(" %s response ",partic[iP]));
+ fhProb[iDet][iP] = new TH1F(Form("%s_pDet%iPart%i",GetName(),iDet,iP),Form("%s calculated probability for %s",detect[iDet],partic[iP]),fNbins,fXmin,fXmax);
+ fhProb[iDet][iP]->SetXTitle(Form(" %s probability ",partic[iP]));
fhProb[iDet][iP]->SetYTitle("entries");
}
}
{
for(Int_t iPart =0; iPart < AliPID::kSPECIES; iPart++)
{
- fhCombResp[iPart] = new TH1F(Form("rCombPart%i",iPart),Form(" %s combined response ",partic[iPart]),fNbins,fXmin,fXmax);
+ fhCombResp[iPart] = new TH1F(Form("%s_rCombPart%i",GetName(),iPart),Form(" %s combined response ",partic[iPart]),fNbins,fXmin,fXmax);
fhCombResp[iPart]->SetXTitle(Form(" %s response ",partic[iPart]));
fhCombResp[iPart]->SetYTitle("entries");
- AliDebug(1,Form( "rCombPart%i is booked!!",iPart));
- fhCombProb[iPart] = new TH1F(Form("pCombPart%i",iPart),Form("%s combined probability ",partic[iPart]),fNbins,fXmin,fXmax);
+ AliDebug(1,Form( "%s is booked!!",fhCombResp[iPart]->GetName()));
+ fhCombProb[iPart] = new TH1F(Form("%s_pCombPart%i",GetName(),iPart),Form("%s combined probability ",partic[iPart]),fNbins,fXmin,fXmax);
fhCombProb[iPart]->SetXTitle(Form(" %s response ",partic[iPart]));
fhCombProb[iPart]->SetYTitle("entries");
- AliDebug(1,Form( "rCombProb%i is booked!!",iPart));
+ AliDebug(1,Form( "%s is booked!!",fhCombProb[iPart]->GetName()));
}
}
}