fTPCdEdx(0),
fTOFParticle(0),
fTOFTime(0x0),
- fTOFNSigma(0),
- fTPCNSigma(0),
- fTPCTOFNSigma(0)
+ fTOFNSigma(0),
+ fTPCNSigma(0),
+ fTPCTOFNSigma(0),
+ fTPCvsTOFNSigma(0)
{
// Default constructor
- fTPCdEdx = new TH2D("TPCdEdx", "TPC dEdx vs. momentum", 100, 0.0, 5.0, 250, 0.0, 500.0);
- fTOFTime = new TH2D("TOFTime", "TOF Time vs. momentum", 100, 0.1, 5.0, 400, -4000.0, 4000.0);
- fTOFNSigma = new TH2D("TOFNSigma","TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
- fTPCNSigma = new TH2D("TPCNSigma","TPC NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
- fTPCTOFNSigma = new TH2D("TPCTOFNSigma","TPC & TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, 0.0, 10.0);
+ fTPCdEdx = new TH2D("TPCdEdx", "TPC dEdx vs. momentum", 100, 0.0, 5.0, 250, 0.0, 500.0);
+ fTOFTime = new TH2D("TOFTime", "TOF Time vs. momentum", 100, 0.1, 5.0, 400, -4000.0, 4000.0);
+ fTOFNSigma = new TH2D("TOFNSigma","TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
+ fTPCNSigma = new TH2D("TPCNSigma","TPC NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
+ fTPCTOFNSigma = new TH2D("TPCTOFNSigma","TPC & TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, 0.0, 10.0);
+ fTPCvsTOFNSigma = new TH2D("TPCvsTOFNSigma","TPC vs TOF Nsigma",100, -5.0, 5.0, 100, -5.0, 5.0);
}
fTPCdEdx(0),
fTOFParticle(aTOFParticle),
fTOFTime(0x0),
- fTOFNSigma(0),
- fTPCNSigma(0),
- fTPCTOFNSigma(0)
+ fTOFNSigma(0),
+ fTPCNSigma(0),
+ fTPCTOFNSigma(0),
+ fTPCvsTOFNSigma(0)
{
// Normal constructor
char name[200];
snprintf(name, 200, "TPCdEdx%s", aName);
- // fTPCdEdx = new TH2D(name, "TPC dEdx vs. momentum", 100, 0.0, 6.0, 250, 0.0, 500.0);
- fTPCdEdx = new TH2D(name, "TPC dEdx vs. momentum", 200, 0.1, 4.0, 250, 0.0, 500.0);
+ // fTPCdEdx = new TH2D(name, "TPC dEdx vs. momentum", 100, 0.0, 6.0, 250, 0.0, 500.0);
+ fTPCdEdx = new TH2D(name, "TPC dEdx vs. momentum", 200, 0.1, 4.0, 250, 0.0, 500.0);
snprintf(name, 200, "TOFTime%s", aName);
- fTOFTime = new TH2D(name, "TOF Time vs. momentum", 100, 0.1, 5.0, 400, -4000.0, 4000.0);
+ fTOFTime = new TH2D(name, "TOF Time vs. momentum", 100, 0.1, 5.0, 400, -4000.0, 4000.0);
- snprintf(name, 200, "TOFNSigma%s", aName);
- fTOFNSigma = new TH2D(name,"TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
+ snprintf(name, 200, "TOFNSigma%s", aName);
+ fTOFNSigma = new TH2D(name,"TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
- snprintf(name, 200, "TPCNSigma%s", aName);
- fTPCNSigma = new TH2D(name,"TPC NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
+ snprintf(name, 200, "TPCNSigma%s", aName);
+ fTPCNSigma = new TH2D(name,"TPC NSigma vs. momentum", 100, 0.0, 5.0, 100, -5.0, 5.0);
- snprintf(name, 200, "TPCTOFNSigma%s", aName);
- fTPCTOFNSigma = new TH2D(name,"TPC & TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, 0.0, 10.0);
+ snprintf(name, 200, "TPCTOFNSigma%s", aName);
+ fTPCTOFNSigma = new TH2D(name,"TPC & TOF NSigma vs. momentum", 100, 0.0, 5.0, 100, 0.0, 10.0);
}
fTPCdEdx(0),
fTOFParticle(0),
fTOFTime(0x0),
- fTOFNSigma(0),
- fTPCNSigma(0),
- fTPCTOFNSigma(0)
+ fTOFNSigma(0),
+ fTPCNSigma(0),
+ fTPCTOFNSigma(0),
+ fTPCvsTOFNSigma(0)
{
// copy constructor
if (fTOFTime) delete fTOFTime;
fTOFTime = new TH2D(*aCut.fTOFTime);
- if (fTOFNSigma) delete fTOFNSigma;
- fTOFNSigma= new TH2D(*aCut.fTOFNSigma);
+ if (fTOFNSigma) delete fTOFNSigma;
+ fTOFNSigma= new TH2D(*aCut.fTOFNSigma);
- if (fTPCNSigma) delete fTPCNSigma;
- fTPCNSigma= new TH2D(*aCut.fTPCNSigma);
+ if (fTPCNSigma) delete fTPCNSigma;
+ fTPCNSigma= new TH2D(*aCut.fTPCNSigma);
- if (fTPCTOFNSigma) delete fTPCTOFNSigma;
- fTPCTOFNSigma= new TH2D(*aCut.fTPCTOFNSigma);
+ if (fTPCTOFNSigma) delete fTPCTOFNSigma;
+ fTPCTOFNSigma= new TH2D(*aCut.fTPCTOFNSigma);
}
AliFemtoCutMonitorParticlePID::~AliFemtoCutMonitorParticlePID()
// Destructor
delete fTPCdEdx;
delete fTOFTime;
- delete fTOFNSigma;
- delete fTPCNSigma;
- delete fTPCTOFNSigma;
+ delete fTOFNSigma;
+ delete fTPCNSigma;
+ delete fTPCTOFNSigma;
+ delete fTPCvsTOFNSigma;
}
if (fTOFTime) delete fTOFTime;
fTOFTime = new TH2D(*aCut.fTOFTime);
- if(fTOFNSigma) delete fTOFNSigma;
- fTOFNSigma = new TH2D(*aCut.fTOFNSigma);
+ if(fTOFNSigma) delete fTOFNSigma;
+ fTOFNSigma = new TH2D(*aCut.fTOFNSigma);
- if(fTPCNSigma) delete fTPCNSigma;
- fTPCNSigma = new TH2D(*aCut.fTPCNSigma);
+ if(fTPCNSigma) delete fTPCNSigma;
+ fTPCNSigma = new TH2D(*aCut.fTPCNSigma);
- if(fTPCTOFNSigma) delete fTPCTOFNSigma;
- fTPCTOFNSigma = new TH2D(*aCut.fTPCTOFNSigma);
+ if(fTPCTOFNSigma) delete fTPCTOFNSigma;
+ fTPCTOFNSigma = new TH2D(*aCut.fTPCTOFNSigma);
+
+ if(fTPCvsTOFNSigma) delete fTPCvsTOFNSigma;
+ fTPCvsTOFNSigma = new TH2D(*aCut.fTPCvsTOFNSigma);
return *this;
}
if (fTOFParticle == 1) fTPCTOFNSigma->Fill(tMom, TMath::Hypot( aTrack->NSigmaTPCK(), aTrack->NSigmaTOFK() ) );
if (fTOFParticle == 2) fTPCTOFNSigma->Fill(tMom, TMath::Hypot( aTrack->NSigmaTPCP(), aTrack->NSigmaTOFP() ) );
+ if (fTOFParticle == 0) fTPCvsTOFNSigma->Fill( aTrack->NSigmaTPCPi(), aTrack->NSigmaTOFPi());
+ if (fTOFParticle == 1) fTPCvsTOFNSigma->Fill( aTrack->NSigmaTPCK(), aTrack->NSigmaTOFK());
+ if (fTOFParticle == 2) fTPCvsTOFNSigma->Fill( aTrack->NSigmaTPCP(), aTrack->NSigmaTOFP());
+
+
}
void AliFemtoCutMonitorParticlePID::Write()
// Write out the relevant histograms
fTPCdEdx->Write();
fTOFTime->Write();
- fTOFNSigma->Write();
- fTPCNSigma->Write();
- fTPCTOFNSigma->Write();
-
+ fTOFNSigma->Write();
+ fTPCNSigma->Write();
+ fTPCTOFNSigma->Write();
+ fTPCvsTOFNSigma->Write();
}
TList *AliFemtoCutMonitorParticlePID::GetOutputList()
TList *tOutputList = new TList();
tOutputList->Add(fTPCdEdx);
tOutputList->Add(fTOFTime);
- tOutputList->Add(fTOFNSigma);
- tOutputList->Add(fTPCNSigma);
- tOutputList->Add(fTPCTOFNSigma);
+ tOutputList->Add(fTOFNSigma);
+ tOutputList->Add(fTPCNSigma);
+ tOutputList->Add(fTPCTOFNSigma);
+ tOutputList->Add(fTPCvsTOFNSigma);
return tOutputList;
}
//old
bool AliFemtoESDTrackCut::IsKaonNSigma(float mom, float nsigmaTPCK, float nsigmaTOFK)
{
-
- if(mom<0.4)
- {
- if(nsigmaTOFK<-999.)
- {
- if(TMath::Abs(nsigmaTPCK)<2.0) return true;
- }
- else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
- }
- else if(mom>=0.4 && mom<=0.6)
- {
- if(nsigmaTOFK<-999.)
- {
- if(TMath::Abs(nsigmaTPCK)<2.0) return true;
- }
- else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
+ if (fNsigmaTPCTOF) {
+ if (mom > 0.5) {
+ // if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP )/TMath::Sqrt(2) < 3.0)
+ if (TMath::Hypot( nsigmaTOFK, nsigmaTPCK ) < fNsigma)
+ return true;
}
- else if(nsigmaTOFK<-999.)
- {
- return false;
+ else {
+ if (TMath::Abs(nsigmaTPCK) < fNsigma)
+ return true;
}
- else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
+ }
+ else {
+ if(mom<0.4)
+ {
+ if(nsigmaTOFK<-999.)
+ {
+ if(TMath::Abs(nsigmaTPCK)<2.0) return true;
+ }
+ else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
+ }
+ else if(mom>=0.4 && mom<=0.6)
+ {
+ if(nsigmaTOFK<-999.)
+ {
+ if(TMath::Abs(nsigmaTPCK)<2.0) return true;
+ }
+ else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
+ }
+ else if(nsigmaTOFK<-999.)
+ {
+ return false;
+ }
+ else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
+ }
return false;
}
bool AliFemtoESDTrackCut::IsPionNSigma(float mom, float nsigmaTPCPi, float nsigmaTOFPi)
{
- if(mom<0.65)
- {
- if(nsigmaTOFPi<-999.)
- {
- if(mom<0.35 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
- else if(mom<0.5 && mom>=0.35 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
- else if(mom>=0.5 && TMath::Abs(nsigmaTPCPi)<2.0) return true;
- else return false;
- }
- else if(TMath::Abs(nsigmaTOFPi)<3.0 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
+ if (fNsigmaTPCTOF) {
+ if (mom > 0.5) {
+ // if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP )/TMath::Sqrt(2) < 3.0)
+ if (TMath::Hypot( nsigmaTOFPi, nsigmaTPCPi ) < fNsigma)
+ return true;
}
- else if(nsigmaTOFPi<-999.)
- {
- return false;
+ else {
+ if (TMath::Abs(nsigmaTPCPi) < fNsigma)
+ return true;
}
- else if(mom<1.5 && TMath::Abs(nsigmaTOFPi)<3.0 && TMath::Abs(nsigmaTPCPi)<5.0) return true;
- else if(mom>=1.5 && TMath::Abs(nsigmaTOFPi)<2.0 && TMath::Abs(nsigmaTPCPi)<5.0) return true;
-
+ }
+ else {
+ if(mom<0.65)
+ {
+ if(nsigmaTOFPi<-999.)
+ {
+ if(mom<0.35 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
+ else if(mom<0.5 && mom>=0.35 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
+ else if(mom>=0.5 && TMath::Abs(nsigmaTPCPi)<2.0) return true;
+ else return false;
+ }
+ else if(TMath::Abs(nsigmaTOFPi)<3.0 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
+ }
+ else if(nsigmaTOFPi<-999.)
+ {
+ return false;
+ }
+ else if(mom<1.5 && TMath::Abs(nsigmaTOFPi)<3.0 && TMath::Abs(nsigmaTPCPi)<5.0) return true;
+ else if(mom>=1.5 && TMath::Abs(nsigmaTOFPi)<2.0 && TMath::Abs(nsigmaTPCPi)<5.0) return true;
+ }
return false;
}
{
if (fNsigmaTPCTOF) {
- if (mom > 0.8) {
+ if (mom > 0.5) {
// if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP )/TMath::Sqrt(2) < 3.0)
if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP ) < fNsigma)
return true;