]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/RESONANCES/AliRsnCutV0.h
Implemented method to select std 2011 ESD quality cuts + added cut for TRD/noTRD...
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutV0.h
index 05a7dfec8eddc92ccf962d1046ed03a34421244b..b0ebbbfeb6ef7fb752f7c9a8dd206ee31c34555d 100644 (file)
@@ -5,15 +5,20 @@
 #include <TString.h>
 
 #include "AliRsnCut.h"
+#include "AliPIDResponse.h"
+
+#include "AliRsnCutTrackQuality.h"
 
 class AliESDtrack;
 class AliAODTrack;
 
+
 class AliRsnCutV0 : public AliRsnCut {
 
 public:
 
-   AliRsnCutV0(const char *name = "AliRsnCutV0", Int_t hypothesis = kLambda0);
+
+   AliRsnCutV0(const char *name = "AliRsnCutV0", Int_t hypothesis = kLambda0, AliPID::EParticleType pid = AliPID::kProton, AliPID::EParticleType pid2 = AliPID::kPion);
    AliRsnCutV0(const AliRsnCutV0 &copy);
    AliRsnCutV0 &operator=(const AliRsnCutV0 &copy);
    virtual ~AliRsnCutV0() { }
@@ -24,6 +29,17 @@ public:
    void           SetMaxDCAVertex(Double_t value)          {fMaxDCAVertex = value;}
    void           SetMinCosPointingAngle(Double_t value)   {fMinCosPointAngle = value;}
    void           SetMaxDaughtersDCA(Double_t value)       {fMaxDaughtersDCA = value;}
+   void           SetMinTPCcluster(Int_t value)            {fMinTPCcluster = value;}
+   void           SetMaxRapidity(Double_t value)           {fMaxRapidity = value;}
+   void           SetDCARPtFormula(const char *formula)    {fDCARptFormula = formula;}
+   
+   void           SetPIDCutProton(Double_t value)          {fPIDCutProton = value;}
+   void           SetPIDCutPion(Double_t value)            {fPIDCutPion = value;}
+  
+
+   AliRsnCutTrackQuality *CutQuality()                     {return &fCutQuality;}
+   void           SetAODTestFilterBit(Int_t value)         {fAODTestFilterBit = value;}
+   Int_t          GetAODTestFilterBit()                    {return fAODTestFilterBit;}
 
    virtual Bool_t IsSelected(TObject *obj);
    virtual void   Print(const Option_t *option = "") const;
@@ -33,18 +49,29 @@ protected:
    Bool_t      CheckESD(AliESDv0 *track);
    Bool_t      CheckAOD(AliAODv0 *track);
 
+   
    Int_t            fHypothesis;       // PDG code corresponding to expected V0 hypothesis
    Double_t         fMass;             // mass corresponding to hypothesis
    Double_t         fTolerance;        // tolerance in the difference between computed and expected mass
    Double_t         fMaxDCAVertex;     // max allowed DCA from primary vertex
    Double_t         fMinCosPointAngle; // min allowed cosine of pointing angle
    Double_t         fMaxDaughtersDCA;  // max allowed DCA between the two daughers
-   //AliPID::EParticleType fRefPID[2];
-   //Double_t              fNSigmaTPC[2];
-   //Double_t              fNSigmaTOF[3];
-
+   Int_t            fMinTPCcluster;    // min allowed TOC cluster
+   Double_t         fMaxRapidity;      // max allowed V0 rapidity
+   TString          fDCARptFormula;    // min DCAR pt dependent formula
+   
+   AliPID::EParticleType fPID;         // PID for track
+   AliPID::EParticleType fPID2;        // PID for track
+
+   Double_t         fPIDCutProton;          // nsigmas for protons
+   Double_t         fPIDCutPion;          // nsigmas for pions
+   
    AliESDtrackCuts *fESDtrackCuts;     // quality cuts for v0 daughters
-
+   
+   AliRsnCutTrackQuality fCutQuality;  // track quality cut
+   
+   Int_t            fAODTestFilterBit; // test filter bit for AODs
+   
    ClassDef(AliRsnCutV0, 1)
 };
 
@@ -59,6 +86,8 @@ inline void AliRsnCutV0::SetHypothesis(Int_t code)
 
    switch (fHypothesis) {
       case kLambda0:
+         fMass = 1.11568;
+         break;
       case kLambda0Bar:
          fMass = 1.11568;
          break;