3 #include <TLorentzVector.h>
26 fDauXrowsOverFindableClusTPC(0.),
46 Double_t dDauXrowsOverFindableClusTPC,
55 fV0DistToPVoverP(dV0DistToPVoverP),
57 fPosDCAtoPV(dPosDCAtoPV),
58 fNegDCAtoPV(dNegDCAtoPV),
59 fDauXrowsTPC(dDauXrowsTPC),
60 fDauXrowsOverFindableClusTPC(dDauXrowsOverFindableClusTPC),
61 fP3Pos(dPosPx, dPosPy, dPosPz),
62 fP3Neg(dNegPx, dNegPy, dNegPz),
75 fV0Radius(src.fV0Radius),
76 fV0CosPA(src.fV0CosPA),
77 fV0DistToPVoverP(src.fV0DistToPVoverP),
78 fDausDCA(src.fDausDCA),
79 fPosDCAtoPV(src.fPosDCAtoPV),
80 fNegDCAtoPV(src.fNegDCAtoPV),
81 fDauXrowsTPC(src.fDauXrowsTPC),
82 fDauXrowsOverFindableClusTPC(src.fDauXrowsOverFindableClusTPC),
85 fIsPosInJC(src.fIsPosInJC),
86 fIsNegInJC(src.fIsNegInJC)
100 if (&src==
this)
return *
this;
102 TObject::operator=(src);
137 Double_t dCutMinDauXrowsOverFindableClusTPC,
150 dCutMinDauXrowsOverFindableClusTPC))
return kFALSE;
152 if (!
IsKaSelected(dCutMaxV0Ctau, dCutMinDauDeltaM))
return kFALSE;
165 Double_t dCutMinDauXrowsOverFindableClusTPC,
178 dCutMinDauXrowsOverFindableClusTPC))
return kFALSE;
180 if (!
IsLaSelected(dCutMaxV0Ctau, dCutMinDauDeltaM))
return kFALSE;
194 if (dCutMinDauDeltaM>0.) {
197 if ((TMath::Abs(dMassLambda-
fgkMassLambda)<dCutMinDauDeltaM) ||
198 (TMath::Abs(dMassAntiLa-
fgkMassLambda)<dCutMinDauDeltaM))
return kFALSE;
213 if (dCutMinDauDeltaM>0.) {
215 if (TMath::Abs(dMassKshort-
fgkMassKshort)<dCutMinDauDeltaM)
return kFALSE;
228 Double_t dCutMinDauXrowsOverFindableClusTPC)
234 if (
fV0Radius<dCutMinV0Radius)
return kFALSE;
235 if (
fV0CosPA <dCutMinV0CosPA)
return kFALSE;
237 if (
fDausDCA>dCutMaxDausDCA)
return kFALSE;
259 Double_t dPt = v.Pt();
if (dPt<h->GetXaxis()->GetBinLowEdge(1))
return;
277 Double_t dPt = v.Pt();
if (dPt<h->GetXaxis()->GetBinLowEdge(1))
return;
295 Double_t dPt = v.Pt();
if (dPt<h->GetXaxis()->GetBinLowEdge(1))
return;
331 if ((dEta<dMin) || (dEta>=dMax))
return kFALSE;
343 Double_t dPosEta =
fP3Pos.Eta();
if ((dPosEta<dMin) || (dPosEta>=dMax))
return kFALSE;
344 Double_t dNegEta =
fP3Neg.Eta();
if ((dNegEta<dMin) || (dNegEta>=dMax))
return kFALSE;
381 return (vPos + vNeg);
394 return (vPos + vNeg);
407 return (vPos + vNeg);
Bool_t IsCandidateSelected(Double_t dCutMinV0Radius, Double_t dCutMinV0CosPA, Double_t dCutMaxDausDCA, Double_t dCutMinPosDCAtoPV, Double_t dCutMinNegDCAtoPV, Float_t dCutMinDauXrowsTPC, Double_t dCutMinDauXrowsOverFindableClusTPC)
Bool_t IsKaInRapAcc(Double_t dMin, Double_t dMax)
Bool_t IsKa(Double_t dCutMinV0Radius=0.5, Double_t dCutMinV0CosPA=0.97, Double_t dCutMaxV0Ctau=20., Double_t dCutMaxDausDCA=1., Double_t dCutMinPosDCAtoPV=0.06, Double_t dCutMinNegDCAtoPV=0.06, Float_t dCutMinDauXrowsTPC=70., Double_t dCutMinDauXrowsOverFindableClusTPC=0.8, Double_t dCutMinDauDeltaM=0.005)
void FillAntiLaPtInvM(TH2D *h)
TLorentzVector KineAntiLa()
Bool_t IsDausInEtaAcc(Double_t dMin, Double_t dMax)
TLorentzVector KineKshort()
AliPicoV0Base & operator=(const AliPicoV0Base &src)
Bool_t IsLaInRapAcc(Double_t dMin, Double_t dMax)
static const Double_t fgkMassProton
static const Double_t fgkMassLambda
static const Double_t fgkMassKshort
Bool_t IsKaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM)
Bool_t IsLaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM)
static const Double_t fgkMassPion
Double_t fDauXrowsOverFindableClusTPC
TLorentzVector KineLambda()
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
void FillLambdaPtInvM(TH2D *h)
Bool_t IsV0InEtaAcc(Double_t dMin, Double_t dMax)
Double_t fV0DistToPVoverP
Bool_t IsLa(Double_t dCutMinV0Radius=0.5, Double_t dCutMinV0CosPA=0.995, Double_t dCutMaxV0Ctau=30., Double_t dCutMaxDausDCA=1., Double_t dCutMinPosDCAtoPV=0.06, Double_t dCutMinNegDCAtoPV=0.06, Float_t dCutMinDauXrowsTPC=70., Double_t dCutMinDauXrowsOverFindableClusTPC=0.8, Double_t dCutMinDauDeltaM=0.01)
void FillKshortPtInvM(TH2D *h)