-#ifndef ALIHBTQOUTVSQINVRESOLFCTN_H
-#define ALIHBTQOUTVSQINVRESOLFCTN_H
-//General Remark:
-//CMSLC means
-//Center of Mass System Longitudially Co-moving
+#ifndef ALIHBTQRESOLUTIONFCTNS_H
+#define ALIHBTQRESOLUTIONFCTNS_H
+//__________________________________________________________________
+////////////////////////////////////////////////////////////////////
+// //
+// General Remark: //
+// LCMS means //
+// Center of Mass System Longitudially Co-moving //
+// //
+// //
+// This class creates resolution function of Qout //
+// (difference of simulated pair Qout and recontructed pair) //
+// in function of QInv //
+// it inherits from AliHBTTwoPairFctn2D //
+// it needs two pairs to compare //
+// and is two dimentional: numerator and denominator are TH2D //
+// //
+////////////////////////////////////////////////////////////////////
-//this class creates resolution function of Qout
-//(difference of simulated pair Qout and recontructed pair)
-//in function of QInv
-//it inherits from AliHBTFourPartFctn2D
-// it needs two pairs to compare
-// and is two dimentional: numerator and denominator are TH2D
+class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvLCMS
-class AliHBTQOutResolVSQInvFctn; //QOutCMSLC Res VS QInvCMSLC
-class AliHBTQSideResolVSQInvFctn; //QSideCMSLC Res VS QInvCMSLC
-class AliHBTQLongResolVSQInvFctn; //QLongCMSLC Res VS QInvCMSLC
+class AliHBTQOutResolVsQInvFctn; //QOutLCMS Res Vs QInvLCMS
+class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res Vs QInvLCMS
+class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res Vs QInvLCMS
+class AliHBTQInvResolVsQInvFctn; //QInvLCMS Res Vs QInvLCMS
-class AliHBTQInvResolVSKtFctn; //QInvCMSLC Res VS Kt
-class AliHBTQOutResolVSKtFctn; //QOutCMSLC Res VS Kt
-class AliHBTQSideResolVSKtFctn; //QSideCMSLC Res VS Kt
-class AliHBTQLongResolVSKtFctn; //QLongCMSLC Res VS Kt
+class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvLCMS
+class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvLCMS
-class AliHBTQOutResolVSQOutFctn; //QOutCMSLC Res VS QOut
-class AliHBTQSideResolVSQSideFctn;//QSideCMSLC Res VS QSide
-class AliHBTQLongResolVSQLongFctn;//QLongCMSLC Res VS QLong
+class AliHBTQInvResolVsKtFctn; //QInvLCMS Res Vs Kt
+class AliHBTQOutResolVsKtFctn; //QOutLCMS Res Vs Kt
+class AliHBTQSideResolVsKtFctn; //QSideLCMS Res Vs Kt
+class AliHBTQLongResolVsKtFctn; //QLongLCMS Res Vs Kt
+class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt
+class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt
+
+class AliHBTQOutResolVsQOutFctn; //QOutLCMS Res Vs QOut
+class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res Vs QSide
+class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res Vs QLong
+
+
+
#include "AliHBTFunction.h"
/***********************************************************************/
/***********************************************************************/
-class AliHBTQOutResolVSQInvFctn: public AliHBTFourPartFctn2D
+class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTKtResolVsQInvFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTKtResolVsQInvFctn,1)
+ };
+
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQOutResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
- virtual ~AliHBTQOutResolVSQInvFctn(){}
+ virtual ~AliHBTQInvResolVsQInvFctn(){}
- TH1* GetResult(){return fNumerator;}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
- y = partpair->GetQInv();
- }
- protected:
- private:
- public:
- ClassDef(AliHBTQOutResolVSQInvFctn,1)
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTQInvResolVsQInvFctn,1)
};
+
/***********************************************************************/
/***********************************************************************/
-class AliHBTQSideResolVSQInvFctn: public AliHBTFourPartFctn2D
+class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQSideResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTQOutResolVsQInvFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTQOutResolVsQInvFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
- virtual ~AliHBTQSideResolVSQInvFctn(){}
+ virtual ~AliHBTQSideResolVsQInvFctn(){}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
- y = partpair->GetQInv();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQSideResolVSQInvFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->fNumerator;}
+ ClassDef(AliHBTQSideResolVsQInvFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQLongResolVSQInvFctn: public AliHBTFourPartFctn2D
+class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQLongResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
- virtual ~AliHBTQLongResolVSQInvFctn(){}
+ virtual ~AliHBTQLongResolVsQInvFctn(){}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
- y = partpair->GetQInv();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQLongResolVSQInvFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->fNumerator;}
+ ClassDef(AliHBTQLongResolVsQInvFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQInvResolVSKtFctn: public AliHBTFourPartFctn2D
+class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQInvResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
- virtual ~AliHBTQInvResolVSKtFctn(){};
+ virtual ~AliHBTQInvResolVsKtFctn(){};
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQInv() - trackpair->GetQInv();
- y = partpair->GetKt();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQInvResolVSKtFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->fNumerator;}
+ ClassDef(AliHBTQInvResolVsKtFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQOutResolVSKtFctn: public AliHBTFourPartFctn2D
+class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQOutResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
- virtual ~AliHBTQOutResolVSKtFctn(){}
- TH1* GetResult(){return GetNumerator();}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
- y = partpair->GetKt();
- }
- protected:
- private:
- public:
- ClassDef(AliHBTQOutResolVSKtFctn,1)
+ virtual ~AliHBTQOutResolVsKtFctn(){}
+ TH1* GetResult(){return this->GetNumerator();}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTQOutResolVsKtFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQSideResolVSKtFctn: public AliHBTFourPartFctn2D
+class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQSideResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
- virtual ~AliHBTQSideResolVSKtFctn(){}
- TH1* GetResult(){return GetNumerator();}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
- y = partpair->GetKt();
- }
- protected:
- private:
- public:
- ClassDef(AliHBTQSideResolVSKtFctn,1)
+ virtual ~AliHBTQSideResolVsKtFctn(){}
+ TH1* GetResult(){return this->GetNumerator();}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTQSideResolVsKtFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQLongResolVSKtFctn: public AliHBTFourPartFctn2D
+class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQLongResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0,
Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
- virtual ~AliHBTQLongResolVSKtFctn(){}
+ virtual ~AliHBTQLongResolVsKtFctn(){}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- x = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
- y = partpair->GetKt();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQLongResolVSKtFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->GetNumerator();}
+ ClassDef(AliHBTQLongResolVsKtFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQOutResolVSQOutFctn: public AliHBTFourPartFctn2D
+class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQOutResolVSQOutFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
- virtual ~AliHBTQOutResolVSQOutFctn(){}
+ virtual ~AliHBTQOutResolVsQOutFctn(){}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- y = partpair->GetQOutCMSLC();
- x = y - trackpair->GetQOutCMSLC();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQOutResolVSQOutFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->fNumerator;}
+ ClassDef(AliHBTQOutResolVsQOutFctn,1)
};
/***********************************************************************/
/***********************************************************************/
-class AliHBTQSideResolVSQSideFctn: public AliHBTFourPartFctn2D
+class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQSideResolVSQSideFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
- virtual ~AliHBTQSideResolVSQSideFctn(){}
+ virtual ~AliHBTQSideResolVsQSideFctn(){}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- y = partpair->GetQSideCMSLC();
- x = y - trackpair->GetQSideCMSLC();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQSideResolVSQSideFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->fNumerator;}
+ ClassDef(AliHBTQSideResolVsQSideFctn,1)
};
-
/***********************************************************************/
/***********************************************************************/
-class AliHBTQLongResolVSQLongFctn: public AliHBTFourPartFctn2D
+class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D
{
public:
- AliHBTQLongResolVSQLongFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
+ AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2,
Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
- virtual ~AliHBTQLongResolVSQLongFctn(){}
+ virtual ~AliHBTQLongResolVsQLongFctn(){}
- void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
- {
- y = partpair->GetQLongCMSLC();
- x = y - trackpair->GetQLongCMSLC();
- }
- TH1* GetResult(){return fNumerator;}
- protected:
- private:
- public:
- ClassDef(AliHBTQLongResolVSQLongFctn,1)
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ TH1* GetResult(){return this->fNumerator;}
+ ClassDef(AliHBTQLongResolVsQLongFctn,1)
};
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTPairThetaResolVsQInvFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTPairThetaResolVsQInvFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(),
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTPairThetaResolVsPairThetaFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1)
+ };
+
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTPairPhiResolVsQInvFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTPairPhiResolVsQInvFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTPairThetaResolVsKtFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTPairThetaResolVsKtFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTPairPhiResolVsKtFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTPairPhiResolVsKtFctn,1)
+ };
+
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D
+ {
+ public:
+ AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0,
+ Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
+
+ virtual ~AliHBTPairPhiResolVsPairPhiFctn(){}
+
+ TH1* GetResult(){return this->fNumerator;}
+ void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const;
+ ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1)
+ };
#endif