ClassImp(AliFlowSelection)
//-----------------------------------------------------------------------
-AliFlowSelection::AliFlowSelection()
+AliFlowSelection::AliFlowSelection():
+ fHarmonic(-1), fSelection(-1), fSubevent(-1), fPtBinsPart(AliFlowConstants::kPtBinsPart), fCent(-1), fRun(-1), fV0SideBand(0.), fConstrainablePart(kFALSE)
{
// Default constructor: when initialized all selection cuts are disabled (lo>hi).
- fCent = -1 ;
- fRun = -1 ;
- // -
fPidPart[0] = '\0' ;
- fConstrainablePart = kFALSE ; // = kTRUE
fPidProbPart[0] = 1 ; // = 0.
fPidProbPart[1] = 0 ; // = 1.
fPtPart[0] = 1 ; // = 0.
fYPart[0] = 1 ; // = 0.
fYPart[1] = 0 ; // = 0.
// -
- fV0Pid[10] = '\0' ;
- fV0SideBand = 0. ;
fV0Pt[0] = 1 ;
fV0Pt[1] = 0 ;
fV0P[0] = 1 ;
fV0DcaCross[1] = 0 ;
fV0Mass[0] = 1 ;
fV0Mass[1] = 0 ;
- // -
- fPtBinsPart = AliFlowConstants::kPtBinsPart ;
- // -
- fHarmonic = -1 ; // harmonic
- fSelection = -1 ; // selection
- fSubevent = -1 ; // sub-event
}
//-----------------------------------------------------------------------
AliFlowSelection::~AliFlowSelection()
float globdca = pFlowTrack->Dca();
if(fDcaGlobalPart[1] > fDcaGlobalPart[0] && (globdca < fDcaGlobalPart[0] || globdca > fDcaGlobalPart[1])) return kFALSE;
- // DCA Global
+ // DCA / error
float dcaSigma = 1. ;
if(pFlowTrack->TransDcaError() != 0) { dcaSigma = pFlowTrack->TransDca() / pFlowTrack->TransDcaError() ; }
if(fDcaOverSigma[1] > fDcaOverSigma[0] && (dcaSigma < fDcaOverSigma[0] || dcaSigma > fDcaOverSigma[1])) return kFALSE;
// to correlate with the event plane).
// Returns kTRUE if the v0 is selected.
- // PID
- if(fV0Pid[0] != '\0')
- {
- if(strstr(fV0Pid, '\0')!=0)
- {
- int charge = pFlowV0->Charge();
- if(strcmp("0", fV0Pid)==0 && charge != 0) return kFALSE;
- }
- else
- {
- const Char_t* pid = pFlowV0->Pid() ;
- if(strstr(pid, fV0Pid)==0) return kFALSE;
- }
- }
-
// InvMass
float mass = pFlowV0->Mass() ;
if(fV0Mass[1]>fV0Mass[0])
float y = pFlowV0->Y();
if(fV0Y[1] > fV0Y[0] && (y < fV0Y[0] || y > fV0Y[1])) return kFALSE;
+// // PID (useless)
+// if(fV0Pid[0] != '\0')
+// {
+// int numPid = TMath::Abs(pFlowV0->MostLikelihoodPID()) ;
+// if((fV0Pid = "gamma") && (fMostLikelihoodPID != 22)) { return kFALSE ; }
+// else if((fV0Pid = "K0") && (fMostLikelihoodPID != 311)) { return kFALSE ; }
+// else if((fV0Pid = "K0s") && (fMostLikelihoodPID != 310)) { return kFALSE ; }
+// else if((fV0Pid = "K0l") && (fMostLikelihoodPID != 130)) { return kFALSE ; }
+// else if((fV0Pid = "Lambda0") && (fMostLikelihoodPID != 3122)) { return kFALSE ; }
+// }
+
return kTRUE;
}
//-----------------------------------------------------------------------
cout << "#################################################################" << endl;
cout << "# Selection List (V0s correlated with the event plane):" << endl;
cout << "# " << endl;
- if(fV0Pid[0]!='\0')
- { cout << "# P.id for V0s correlated to the event plane: " << fV0Pid << " " << endl ; }
+ // if(fV0Pid[0]!='\0') { cout << "# P.id for V0s correlated to the event plane: " << fV0Pid << " " << endl ; }
if(fV0Mass[1]>fV0Mass[0])
{
if(!fV0SideBand)