//Fills the numerator using pair from the same event
partpair = CheckPair(partpair);
if(partpair == 0x0) return;
+ trackpair = CheckPair(trackpair);
+ if(trackpair == 0x0) return;
Double_t q = trackpair->GetQInv();
Bool_t fill = kFALSE;
+ Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
+ fNumerator->Fill(q,weight);
+
if ( (q < 0.15) && (fNPairsFitArea < 2.e+5))
{
fNPairsFitArea++;
if (fill)
{
- Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
- fNumerator->Fill(q,weight);
const AliHBTParticle& p1 = *(trackpair->Particle1());
const AliHBTParticle& p2 = *(trackpair->Particle2());
fNtuple->Fill(p1.Px(),p1.Py(),p1.Pz(),p1.Energy(),
- p2.Px(),p2.Py(),p2.Pz(),p2.Energy());
+ p2.Px(),p2.Py(),p2.Pz(),p2.Energy());
}
}
/****************************************************************/
{
// Fills the numerator using pairs from the same event
partpair = CheckPair(partpair);
+ if( partpair == 0x0) return;
+
if (partpair->GetSwapedPair() == 0x0)//it means that Check pair returned swapped pair
trackpair = trackpair->GetSwapedPair();//so the track pair must be swapped as well
- if( partpair )
- {
- Double_t x = GetValue(trackpair,partpair);
- fNumerator->Fill(x);
- }
+
+ Double_t x = GetValue(trackpair,partpair);
+ fNumerator->Fill(x);
}
/******************************************************************/
{
// Fills the denumerator usin mixed pairs
partpair = CheckPair(partpair);
+ if( partpair == 0x0) return;
+
if (partpair->GetSwapedPair() == 0x0)//it means that Check pair returned swapped pair
trackpair = trackpair->GetSwapedPair();//so the track pair must be swapped as well
- if( partpair )
- {
- Double_t x = GetValue(trackpair,partpair);
- fDenominator->Fill(x);
- }
+
+ Double_t x = GetValue(trackpair,partpair);
+ fDenominator->Fill(x);
}
/******************************************************************/
/******************************************************************/
{
//processes pair of particles coming from a same events (real pair)
partpair = CheckPair(partpair); //check cuts
+ if (partpair == 0x0) return;
+
if (partpair->GetSwapedPair() == 0x0)//it means that Check pair returned swapped pair
trackpair = trackpair->GetSwapedPair();//so the track pair must be swapped as well
- if( partpair )
- {
- Double_t x,y;
- GetValues(trackpair,partpair,x,y);
- fNumerator->Fill(x,y);
- }
+
+ Double_t x,y;
+ GetValues(trackpair,partpair,x,y);
+ fNumerator->Fill(x,y);
}
/******************************************************************/
{
//processes pair of particles coming from a different events (mixed pair)
partpair = CheckPair(partpair);
+ if (partpair == 0x0) return;
+
if (partpair->GetSwapedPair() == 0x0)//it means that Check pair returned swapped pair
trackpair = trackpair->GetSwapedPair();//so the track pair must be swapped as well
- if( partpair )
- {
- Double_t x,y;
- GetValues(trackpair,partpair,x,y);
- fDenominator->Fill(x,y);
- }
+
+ Double_t x,y;
+ GetValues(trackpair,partpair,x,y);
+ fDenominator->Fill(x,y);
}
/******************************************************************/
{
// Fills th numerator using pairs from the same event
partpair = CheckPair(partpair);
+ if( partpair == 0x0) return;
+
if (partpair->GetSwapedPair() == 0x0)//it means that CheckPair returned swapped pair
trackpair = trackpair->GetSwapedPair();//so the track pair must be swapped as well
- if( partpair )
- {
- Double_t x,y,z;
- GetValues(trackpair,partpair,x,y,z);
- fNumerator->Fill(x,y,z);
- }
+
+ Double_t x,y,z;
+ GetValues(trackpair,partpair,x,y,z);
+ fNumerator->Fill(x,y,z);
+
}
/******************************************************************/
{
// Fills the denumerator using mixed pairs
partpair = CheckPair(partpair);
+ if( partpair == 0x0) return;
+
if (partpair->GetSwapedPair() == 0x0)//it means that CheckPair returned swapped pair
trackpair = trackpair->GetSwapedPair();//so the track pair must be swapped as well
- if( partpair )
- {
- Double_t x,y,z;
- GetValues(trackpair,partpair,x,y,z);
- fDenominator->Fill(x,y,z);
- }
-
+
+ Double_t x,y,z;
+ GetValues(trackpair,partpair,x,y,z);
+ fDenominator->Fill(x,y,z);
}
/******************************************************************/
#include "AliHBTQDistributionFctns.h"
+//__________________________________________________________________
+////////////////////////////////////////////////////////////////////
+// //
+// class AliHBTQInvDistributionVsKtFctn //
+// class AliHBTQOutDistributionVsKtFctn //
+// class AliHBTQSideDistributionVsKtFctn //
+// class AliHBTQLongDistributionVsKtFctn //
+// class AliHBTQOutDistributionVsQInvFctn //
+// class AliHBTQSideDistributionVsQInvFctn //
+// class AliHBTQLongDistributionVsQInvFctn //
+// //
+// Classes for Q's monitoring Vs Kt and Vs Qinv //
+// //
+// Author: //
+// Zbigniew Chajecki <chajecki@if.pw.edu.pl> //
+// //
+////////////////////////////////////////////////////////////////////
/******************************************************************/
/******************************************************************/
ClassImp( AliHBTQInvDistributionVsKtFctn )
-AliHBTQInvDistributionVsKtFctn::
-AliHBTQInvDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
- Int_t nYbins, Double_t maxYval, Double_t minYval):
- AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+AliHBTQInvDistributionVsKtFctn::AliHBTQInvDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
{
+ //ctor
Rename("QInvDistributionVsKt","Q_{Inv} Distribution vs. K_{t}");
}
-
/******************************************************************/
/******************************************************************/
ClassImp( AliHBTQOutDistributionVsKtFctn )
-AliHBTQOutDistributionVsKtFctn::
-AliHBTQOutDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
- Int_t nYbins, Double_t maxYval, Double_t minYval):
- AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+AliHBTQOutDistributionVsKtFctn::AliHBTQOutDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
{
+ //ctor
Rename("QOutDistributionVsKt","Q_{Out} Distribution vs. K_{t}");
}
-
/******************************************************************/
/******************************************************************/
ClassImp( AliHBTQSideDistributionVsKtFctn )
-AliHBTQSideDistributionVsKtFctn::
-AliHBTQSideDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
- Int_t nYbins, Double_t maxYval, Double_t minYval):
- AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+AliHBTQSideDistributionVsKtFctn::AliHBTQSideDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
{
+ //ctor
Rename("QSideDistributionVsKt","Q_{Side} Distribution vs. K_{t}");
}
-
/******************************************************************/
/******************************************************************/
ClassImp( AliHBTQLongDistributionVsKtFctn )
-AliHBTQLongDistributionVsKtFctn::
-AliHBTQLongDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
- Int_t nYbins, Double_t maxYval, Double_t minYval):
- AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+AliHBTQLongDistributionVsKtFctn::AliHBTQLongDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
{
+ //ctor
Rename("QLongDistributionVsKt","Q_{Long} Distribution vs. K_{t}");
}
+/******************************************************************/
+/******************************************************************/
+
+ClassImp( AliHBTQOutDistributionVsQInvFctn )
+
+AliHBTQOutDistributionVsQInvFctn::AliHBTQOutDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+{
+ //ctor
+ Rename("QOutDistributionVsQInv","Q_{Out} Distribution vs. Q_{inv}");
+}
+
+/******************************************************************/
+/******************************************************************/
+
+ClassImp( AliHBTQSideDistributionVsQInvFctn )
+
+AliHBTQSideDistributionVsQInvFctn::AliHBTQSideDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+{
+ //ctor
+ Rename("QSideDistributionVsQInv","Q_{Side} Distribution vs. Q_{inv}");
+}
+
+/******************************************************************/
+/******************************************************************/
+
+ClassImp( AliHBTQLongDistributionVsQInvFctn )
+
+AliHBTQLongDistributionVsQInvFctn::AliHBTQLongDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+ Int_t nYbins, Double_t maxYval, Double_t minYval):
+ AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
+{
+ //ctor
+ Rename("QLongDistributionVsQInv","Q_{Long} Distribution vs. Q_{inv}");
+}
/******************************************************************/
/******************************************************************/
class AliHBTQSideDistributionVsKtFctn; //QSideCMSLC Distribution Vs Kt
class AliHBTQLongDistributionVsKtFctn; //QLongCMSLC Distribution Vs Kt
+class AliHBTQOutDistributionVsQInvFctn; //QOutCMSLC Distribution Vs QInv
+class AliHBTQSideDistributionVsQInvFctn; //QSideCMSLC Distribution Vs QInv
+class AliHBTQLongDistributionVsQInvFctn; //QLongCMSLC Distribution Vs QInv
+
#include "AliHBTFunction.h"
/***********************************************************************/
/***********************************************************************/
/***********************************************************************/
+class AliHBTQOutDistributionVsQInvFctn: public AliHBTOnePairFctn2D
+ {
+ public:
+ AliHBTQOutDistributionVsQInvFctn(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 ~AliHBTQOutDistributionVsQInvFctn(){}
+ TH1* GetResult(){return GetNumerator();}
+ void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y)
+ {
+ y = partpair->GetQOutCMSLC();
+ x = partpair->GetQInv();
+ }
+ protected:
+ private:
+ public:
+ ClassDef(AliHBTQOutDistributionVsQInvFctn,1)
+ };
+/***********************************************************************/
+/***********************************************************************/
+class AliHBTQSideDistributionVsQInvFctn: public AliHBTOnePairFctn2D
+ {
+ public:
+ AliHBTQSideDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1,
+ Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
+ virtual ~AliHBTQSideDistributionVsQInvFctn(){}
+ TH1* GetResult(){return GetNumerator();}
+ void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y)
+ {
+ y = partpair->GetQSideCMSLC();
+ x = partpair->GetQInv();
+ }
+ protected:
+ private:
+ public:
+ ClassDef(AliHBTQSideDistributionVsQInvFctn,1)
+ };
+/***********************************************************************/
+/***********************************************************************/
+
+class AliHBTQLongDistributionVsQInvFctn: public AliHBTOnePairFctn2D
+ {
+ public:
+ AliHBTQLongDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1,
+ Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2);
+ virtual ~AliHBTQLongDistributionVsQInvFctn(){}
+ TH1* GetResult(){return GetNumerator();}
+ void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y)
+ {
+ y = partpair->GetQLongCMSLC();
+ x = partpair->GetQInv();
+ }
+ protected:
+ private:
+ public:
+ ClassDef(AliHBTQLongDistributionVsQInvFctn,1)
+ };
+/***********************************************************************/
+/***********************************************************************/
#endif
#pragma link C++ class AliHBTQOutDistributionVsKtFctn+;
#pragma link C++ class AliHBTQSideDistributionVsKtFctn+;
#pragma link C++ class AliHBTQLongDistributionVsKtFctn+;
+#pragma link C++ class AliHBTQOutDistributionVsQInvFctn+;
+#pragma link C++ class AliHBTQSideDistributionVsQInvFctn+;
+#pragma link C++ class AliHBTQLongDistributionVsQInvFctn+;
#pragma link C++ class AliHBTMonPxDistributionFctn+;
#pragma link C++ class AliHBTMonPyDistributionFctn+;