#ifndef ALIAODPAIRBASECUT_H
#define ALIAODPAIRBASECUT_H
-
-#include <TNamed.h>
+// Base class AliAODPairBaseCut:
+// This class defines the range of some property - pure virtual
+// Property is coded by AliAODCutTypes type
+// Derived classes:
+// AliAODQInvCut
+// AliAODKtCut
+// AliAODKStarCut
+// AliAODKStarOutCut
+// AliAODKStarSideCut
+// AliAODKStarLongCut
+// AliAODQSideLCMSCut
+// AliAODQOutLCMSCut
+// AliAODQLongLCMSCut
+// AliAODDeltaECut
+// AliAODDeltaPCut
+// AliAODDeltaPvectorCut
+// AliAODDeltaPhiCut
+// AliAODDeltaThetaCut
+// AliAODCluterOverlapCut
+// AliAODAvSeparationCut
+// AliAODSeparationCut
+// AliAODITSSeparationCut
+// AliAODOutSideSameSignCut
+// AliAODOutSideDiffSignCut
+// AliAODLogicalOperPairCut
+// AliAODOrPairCut
+// AliAODAndPairCut
+
+#include <TObject.h>
#include "AliAODPair.h"
class AliAODPairBaseCut: public TObject
{
- //This class defines the range of some property - pure virtual
- //Property is coded by AliAODCutTypes type
-
public:
enum EAODPairCutProperty
kHbtPairCutPropQInv, //Q invariant
kHbtPairCutPropKt,
kHbtPairCutPropKStar,
+ kHbtPairCutPropKStarOut,
+ kHbtPairCutPropKStarSide,
+ kHbtPairCutPropKStarLong,
kHbtPairCutPropQSideLCMS,
kHbtPairCutPropQOutLCMS,
kHbtPairCutPropQLongLCMS,
};
/******************************************************************/
+class AliAODKStarOutCut: public AliAODPairBaseCut
+{
+ public:
+ AliAODKStarOutCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStarOut){}
+ virtual ~AliAODKStarOutCut(){}
+ protected:
+ virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStarOut();}
+
+ ClassDef(AliAODKStarOutCut,1)
+};
+/******************************************************************/
+class AliAODKStarSideCut: public AliAODPairBaseCut
+{
+ public:
+ AliAODKStarSideCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStarSide){}
+ virtual ~AliAODKStarSideCut(){}
+ protected:
+ virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStarSide();}
+
+ ClassDef(AliAODKStarSideCut,1)
+};
+
+/******************************************************************/
+
+class AliAODKStarLongCut: public AliAODPairBaseCut
+{
+ public:
+ AliAODKStarLongCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStarLong){}
+ virtual ~AliAODKStarLongCut(){}
+ protected:
+ virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStarLong();}
+
+ ClassDef(AliAODKStarLongCut,1)
+};
+/******************************************************************/
+
class AliAODQSideLCMSCut: public AliAODPairBaseCut
{
public:
AliAODPairBaseCut* fFirst; //second cut
AliAODPairBaseCut* fSecond; //first cut
private:
+ AliAODLogicalOperPairCut(const AliAODLogicalOperPairCut & src);
+ AliAODLogicalOperPairCut & operator=(const AliAODLogicalOperPairCut & src);
class AliAODDummyBasePairCut: public AliAODPairBaseCut
{
Double_t GetValue(AliAODPair* /*pair*/) const {return 0.0;}