Changes to have an option for storing like-sign V0s in the ESD
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 1 Mar 2009 14:29:16 +0000 (14:29 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 1 Mar 2009 14:29:16 +0000 (14:29 +0000)
ITS/AliITSRecoParam.cxx
ITS/AliITSRecoParam.h
ITS/AliITStrackerMI.cxx

index 451607b..9fd9acb 100644 (file)
@@ -136,6 +136,7 @@ fMinClusterChargeSA(0.),
 fSAOnePointTracks(kFALSE),
 fSAUseAllClusters(kFALSE),
 fFindV0s(kTRUE),
+fStoreLikeSignV0s(kFALSE),
 fUseUnfoldingInClusterFinderSPD(kFALSE),
 fUseUnfoldingInClusterFinderSDD(kTRUE),
 fUseUnfoldingInClusterFinderSSD(kTRUE),
index 9e330eb..cc1d1b4 100644 (file)
@@ -257,6 +257,9 @@ class AliITSRecoParam : public AliDetectorRecoParam
   void   SetFindV0s(Bool_t find=kTRUE) { fFindV0s=find; return; }
   Bool_t GetFindV0s() const { return fFindV0s; }
 
+  void SetStoreLikeSignV0s(Bool_t like=kFALSE) { fStoreLikeSignV0s=like; return; } 
+  Bool_t GetStoreLikeSignV0s() const { return fStoreLikeSignV0s; } 
+
   void   SetLayersParameters();
 
   void   SetLayerToSkip(Int_t i) { fLayersToSkip[i]=1; return; }
@@ -451,6 +454,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Bool_t fSAUseAllClusters; // do not skip clusters used by MI (same track twice in AliESDEvent!)
 
   Bool_t fFindV0s;  // flag to enable V0 finder (MI)
+  Bool_t fStoreLikeSignV0s; // flag to store like-sign V0s (MI)
 
   // cluster unfolding in ITS cluster finders
   Bool_t fUseUnfoldingInClusterFinderSPD; // SPD
@@ -472,7 +476,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Bool_t fUseCosmicRunShiftsSSD; // SSD time shifts for cosmic run 2007/2008 (use for data taken up to 18 sept 2008)
 
 
-  ClassDef(AliITSRecoParam,15) // ITS reco parameters
+  ClassDef(AliITSRecoParam,16) // ITS reco parameters
 };
 
 #endif
index a4b9d76..db22289 100644 (file)
@@ -4191,7 +4191,7 @@ void AliITStrackerMI::FindV02(AliESDEvent *event)
     if (forbidden[itrack0]) continue;
     AliITStrackMI * btrack0 = (AliITStrackMI*)trackarray.At(itrack0);
     if (!btrack0) continue;    
-    if (btrack0->GetSign()>0) continue;
+    if (btrack0->GetSign()>0 && !AliITSReconstructor::GetRecoParam()->GetStoreLikeSignV0s()) continue;
     AliITStrackMI *trackc0 = (AliITStrackMI*)trackarrayc.At(itrack0);
     //
     for (Int_t iesd1=0;iesd1<ntracks;iesd1++){
@@ -4200,7 +4200,7 @@ void AliITStrackerMI::FindV02(AliESDEvent *event)
 
       AliITStrackMI * btrack1 = (AliITStrackMI*)trackarray.At(itrack1); 
       if (!btrack1) continue;
-      if (btrack1->GetSign()<0) continue;
+      if (btrack1->GetSign()<0 && !AliITSReconstructor::GetRecoParam()->GetStoreLikeSignV0s()) continue;
       Bool_t isGold = kFALSE;
       if (TMath::Abs(TMath::Abs(btrack0->GetLabel())-TMath::Abs(btrack1->GetLabel()))==1){
        isGold = kTRUE;