#include "AliESDVertex.h"\r
#include "AliESDEvent.h"\r
#include "AliESDtrack.h"\r
+#include "AliESDV0Params.h"\r
#include "AliV0.h"\r
#include "AliHelix.h"\r
#include "AliITSRecPoint.h"\r
{\r
//Default constructor\r
\r
- fDebugStreamer = new TTreeSRedirector("ITSdebug.root");\r
+ if (AliITSReconstructor::GetRecoParam()->GetESDV0Params()->StreamLevel()>0)\r
+ fDebugStreamer = new TTreeSRedirector("ITSdebug.root");\r
} \r
\r
//------------------------------------------------------------------------\r
// max distance DCA between 2 tracks cut \r
// maxDist = TMath::Min(kMaxDist,kMaxDist0+pvertex->GetRr()*kMaxDist);\r
//\r
+ const Bool_t kCheckPropagate = kFALSE;\r
const Float_t kMaxDist0 = AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMaxDist0();\r
const Float_t kMaxDist1 = AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMaxDist1();\r
const Float_t kMaxDist = AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMaxDist();\r
const Float_t kMinNormDistForb3= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMinNormDistForb3();\r
const Float_t kMinNormDistForb4= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMinNormDistForb4();\r
const Float_t kMinNormDistForb5= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMinNormDistForb5();\r
+ const Float_t kMinNormDistForbProt= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMinNormDistForbProt();\r
+ const Float_t kMaxPidProbPionForb= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMaxPidProbPionForb();\r
\r
const Float_t kMinRTPCdensity= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMinRTPCdensity();\r
const Float_t kMaxRTPCdensity0= AliITSReconstructor::GetRecoParam()->GetESDV0Params()->GetMaxRTPCdensity0();\r
\r
alpha = TMath::ATan2(yy,xx); \r
// if (!trackat0.Propagate(alpha,0)) continue; \r
- trackat0.Propagate(alpha,0); //PH The check on the return value is temporarily disabled (bug 45751) \r
+ // trackat0.Propagate(alpha,0); //PH The check on the return value is temporarily disabled (bug 45751) \r
+ if(!trackat0.Propagate(alpha,0) && kCheckPropagate)continue;\r
// calculate normalized distances to the vertex \r
//\r
Float_t ptfac = (1.+100.*TMath::Abs(trackat0.GetC()));\r
normdist[itsindex]*=-1;\r
}\r
if (isProton){\r
- if (normdist[itsindex]>2) forbidden[itsindex]=kFALSE; \r
+ if (normdist[itsindex]>kMinNormDistForbProt) forbidden[itsindex]=kFALSE; \r
normdist[itsindex]*=-1;\r
}\r
\r
+ // We allow all tracks that are not pions\r
+ if( (pid[1]+pid[2])< kMaxPidProbPionForb ){\r
+ forbidden[itsindex]=kFALSE;\r
+ }\r
+\r
//\r
// Causality cuts in TPC volume\r
//\r
//\r
//\r
//\r
- Double_t phase[2][2],radius[2];\r
+ Double_t phase[2][2]={{0.,0.},{0.,0.}};\r
+ Double_t radius[2]={0.,0.};\r
Int_t points = h1.GetRPHIintersections(h2, phase, radius);\r
if (points==0) {\r
// cutN=1;\r
delete[] itsmap;\r
delete[] helixes;\r
delete pvertex;\r
+ delete dummy;\r
}\r
//------------------------------------------------------------------------\r
void AliITSV0Finder::RefitV02(const AliESDEvent *event,\r