#define ALIHBTWeightQINVFCTN_H
/* $Id$ */
-
+//_________________________________________________________________________
+//
+// class AliHBTWeightQInvFctn
+// class AliHBTWeightQOutFctn
+// class AliHBTWeightQSideFctn
+// class AliHBTWeightQLongFctn
+//
+// This class allows to obtain Q_inv correlation function with weights
+// calculated by Lednicky's alghorithm.
+// Numerator is filled with weighted events. Weights are attributed to reconstructed tracks.
+// Weights are calculated with corresponding simulated particles momenta.
+// Denominator is filled with mixing unweighted reconstructed tracks.
+// One needs both pairs
+// (simulated and recontructed), thus function is of class AliHBTTwoPairFctn1D.
+// Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru)
+//
+////////////////////////////////////////////////////////////////////////////////
#include "AliHBTFunction.h"
class AliHBTWeights;
-class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D
+
+class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
{
public:
AliHBTWeightQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
+ Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
{ return trackpair->GetQInv()-partpair->GetQInv();} //isn't use
- ClassDef(AliHBTWeightQInvFctn,1)
+ ClassDef(AliHBTWeightQInvFctn,3)
};
/*************************************************************************************/
-class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
- { return trackpair->GetQOutCMSLC()-partpair->GetQOutCMSLC();} //isn't use
- ClassDef(AliHBTWeightQOutFctn,1)
+ Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
+ { return trackpair->GetQOutLCMS()-partpair->GetQOutLCMS();} //isn't use
+ ClassDef(AliHBTWeightQOutFctn,3)
};
/*************************************************************************************/
-class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
public:
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
- { return trackpair->GetQLongCMSLC()-partpair->GetQLongCMSLC();} //isn't used
+ Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
+ { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
- ClassDef(AliHBTWeightQLongFctn,1)
+ ClassDef(AliHBTWeightQLongFctn,3)
};
/*************************************************************************************/
-class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
public:
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
- { return trackpair->GetQLongCMSLC()-partpair->GetQLongCMSLC();} //isn't used
+ Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
+ { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
- ClassDef(AliHBTWeightQSideFctn,1)
+ ClassDef(AliHBTWeightQSideFctn,3)
};
/*************************************************************************************/
-class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
public:
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
+ Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
{ return trackpair->GetKStar()-partpair->GetKStar();} //isn't used
- ClassDef(AliHBTWeightTwoKStarFctn,1)
+ ClassDef(AliHBTWeightTwoKStarFctn,3)
};
/*************************************************************************************/
-class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D
+class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
- ClassDef(AliHBTWeightQOutQSideFctn,1)
+ void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
+ ClassDef(AliHBTWeightQOutQSideFctn,3)
};
/*************************************************************************************/
-class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D
+class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
- ClassDef(AliHBTWeightQOutQLongFctn,1)
+ void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
+ ClassDef(AliHBTWeightQOutQLongFctn,3)
};
-
/*************************************************************************************/
-class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D
+class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
{
// friend class AliHBTOnePairFctn1D;
public:
AliHBTWeightQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
- Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
+ Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
virtual ~AliHBTWeightQSideQLongFctn(){};
TH1* GetResult();
void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
protected:
- void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
- ClassDef(AliHBTWeightQSideQLongFctn,1)
+ void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
+ ClassDef(AliHBTWeightQSideQLongFctn,3)
};
+/*************************************************************************************/
+
+class AliHBTWeightQOutSQideQLongFctn: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
+{
+
+ public:
+ AliHBTWeightQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.3, Double_t minXval = 0.0,
+ Int_t nYbins = 100, Double_t maxYval = 0.3, Double_t minYval = 0.0,
+ Int_t nZbins = 100, Double_t maxZval = 0.3, Double_t minZval = 0.0);
+ virtual ~AliHBTWeightQOutSQideQLongFctn(){}
+
+ TH1* GetResult();
+ void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+ void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+
+ protected:
+ void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/,
+ Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ }
+
+ ClassDef(AliHBTWeightQOutSQideQLongFctn,1)
+};
+
#endif