]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/AliAnalysisVertexingHF.cxx
Minor bug on T0-AC resolution fixed. TOF resolution no longer read from TOHheader...
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisVertexingHF.cxx
index 930bbdc07a2cab62ceb82a7bafd05acb35af3496..98e96713a8409ba3dd4a8766b1b431bd8343c9b9 100644 (file)
@@ -92,6 +92,7 @@ fMixEvent(kFALSE),
 fPidResponse(0x0),
 fUseKaonPIDfor3Prong(kFALSE),
 fUsePIDforLc(0),
+fUsePIDforLc2V0(0),
 fUseKaonPIDforDs(kFALSE),
 fUseTPCPID(kFALSE),
 fUseTOFPID(kFALSE),
@@ -181,6 +182,7 @@ fMixEvent(source.fMixEvent),
 fPidResponse(source.fPidResponse),
 fUseKaonPIDfor3Prong(source.fUseKaonPIDfor3Prong),
 fUsePIDforLc(source.fUsePIDforLc),
+fUsePIDforLc2V0(source.fUsePIDforLc2V0),
 fUseKaonPIDforDs(source.fUseKaonPIDforDs),
 fUseTPCPID(source.fUseTPCPID),
 fUseTOFPID(source.fUseTOFPID),
@@ -267,6 +269,7 @@ AliAnalysisVertexingHF &AliAnalysisVertexingHF::operator=(const AliAnalysisVerte
   fPidResponse = source.fPidResponse;
   fUseKaonPIDfor3Prong = source.fUseKaonPIDfor3Prong;
   fUsePIDforLc = source.fUsePIDforLc;
+  fUsePIDforLc2V0 = source.fUsePIDforLc2V0;
   fUseKaonPIDforDs = source.fUseKaonPIDforDs;
   fUseTPCPID = source.fUseTPCPID;
   fUseTOFPID = source.fUseTOFPID;
@@ -619,6 +622,8 @@ void AliAnalysisVertexingHF::FindCandidates(AliVEvent *event,
 
        //AliDebug(1,Form("   loop on v0s for track number %d and v0 number %d",iTrkP1,iv0));   
 
+        if ( fUsePIDforLc2V0 && !TESTBIT(seleFlags[iTrkP1],kBitProtonCompat) ) continue; //clm
+
        // Get the V0 
        if(fInputAOD) {
          v0 = ((AliAODEvent*)event)->GetV0(iv0);
@@ -700,10 +705,10 @@ void AliAnalysisVertexingHF::FindCandidates(AliVEvent *event,
        dcaV0 = v0->DcaV0Daughters();
 
        // Define the V0 (neutral) track
-       AliNeutralTrackParam *trackV0;
+       AliNeutralTrackParam *trackV0=NULL;
        if(fInputAOD) {
          const AliVTrack *trackVV0 = dynamic_cast<const AliVTrack*>(v0);
-         if(trackVV0) trackV0 = new AliNeutralTrackParam(trackVV0);
+         if(trackVV0)  trackV0 = new AliNeutralTrackParam(trackVV0);
        } else {  
          Double_t xyz[3], pxpypz[3];
          esdV0->XvYvZv(xyz);
@@ -711,6 +716,8 @@ void AliAnalysisVertexingHF::FindCandidates(AliVEvent *event,
          Double_t cv[21]; for(int i=0; i<21; i++) cv[i]=0;
          trackV0 = new AliNeutralTrackParam(xyz,pxpypz,cv,0);
        }
+
+
        // Fill in the object array to create the cascade
        twoTrackArrayCasc->AddAt(postrack1,0);
        twoTrackArrayCasc->AddAt(trackV0,1);
@@ -872,7 +879,7 @@ void AliAnalysisVertexingHF::FindCandidates(AliVEvent *event,
          //printf("--->  %d %d %d %d %d\n",vertexp1n1->GetNDaughters(),iTrkP1,iTrkN1,postrack1->Charge(),negtrack1->Charge());
          // create a track from the D0
          AliNeutralTrackParam *trackD0 = new AliNeutralTrackParam(io2Prong);
-
+         
          // LOOP ON TRACKS THAT PASSED THE SOFT PION CUTS
          for(iTrkSoftPi=0; iTrkSoftPi<nSeleTrks; iTrkSoftPi++) {
 
@@ -2129,7 +2136,7 @@ AliAODVertex* AliAnalysisVertexingHF::PrimaryVertex(const TObjArray *trkArray,
          rmId[i]=9999;
        }
       }
-      Float_t diamondxy[2]={event->GetDiamondX(),event->GetDiamondY()};
+      Float_t diamondxy[2]={static_cast<Float_t>(event->GetDiamondX()),static_cast<Float_t>(event->GetDiamondY())};
       vertexESD = vertexer->RemoveTracksFromVertex(fV1,&rmArray,rmId,diamondxy);
       delete [] rmId; rmId=NULL;
       rmArray.Delete();
@@ -2576,11 +2583,11 @@ Bool_t AliAnalysisVertexingHF::SelectInvMassAndPtCascade(Double_t *px,
   Int_t nprongs=2;
   Double_t minv2,mrange;
   Double_t lolim,hilim;
-  Double_t minPt=0;
+  //  Double_t minPt=0;
   Bool_t retval=kFALSE;
   
   fMassCalc2->SetPxPyPzProngs(nprongs,px,py,pz);
-  minPt=fCutsLctoV0->GetMinPtCandidate();
+  //  minPt=fCutsLctoV0->GetMinPtCandidate();
   fOKInvMassLctoV0=kFALSE; 
   mrange=fCutsLctoV0->GetMassCut();
   lolim=fMassLambdaC-mrange;