/ \
/ \
/ \
- two part four part
+ one pair two pair
/ | \ / | \
/ | \ / | \
1D 2D 3D 1D 2D 3D
AliHBTFunction::AliHBTFunction()
{
-
- fPairCut = new AliHBTEmptyPairCut(); //dummy cut
+ fPairCut = new AliHBTEmptyPairCut(); //dummy cut
+}
+/******************************************************************/
+AliHBTFunction::AliHBTFunction(const char* name,const char* title):TNamed(name,title)
+{
+ fPairCut = new AliHBTEmptyPairCut(); //dummy cut
}
/******************************************************************/
/******************************************************************/
/******************************************************************/
-ClassImp( AliHBTTwoPartFctn )
+ClassImp( AliHBTOnePairFctn )
/******************************************************************/
/******************************************************************/
/******************************************************************/
-ClassImp( AliHBTFourPartFctn)
+ClassImp( AliHBTTwoPairFctn)
/******************************************************************/
/******************************************************************/
/******************************************************************/
-ClassImp( AliHBTTwoPartFctn1D )
+ClassImp( AliHBTOnePairFctn1D )
+AliHBTOnePairFctn1D::AliHBTOnePairFctn1D():fNBinsToScale(30)
+ {
+ fNumerator = 0x0;
+ fDenominator = 0x0;
+ }
-AliHBTTwoPartFctn1D::
-AliHBTTwoPartFctn1D(Int_t nbins, Double_t maxXval, Double_t minXval)
+AliHBTOnePairFctn1D::
+AliHBTOnePairFctn1D(Int_t nbins, Double_t maxXval, Double_t minXval)
{
//Constructor of Two Part One Dimentional Function
// nbins: number of bins in histograms - default 100
fNBinsToScale = 30;
}
+AliHBTOnePairFctn1D::
+AliHBTOnePairFctn1D(const Char_t *name, const Char_t *title,
+ Int_t nbins, Double_t maxXval, Double_t minXval)
+ :AliHBTOnePairFctn(name,title)
+{
+ TString numstr = fName + " Numerator"; //title and name of the
+ //numerator histogram
+ TString denstr = fName + " Denominator";//title and name of the
+ //denominator histogram
+
+ fNumerator = new TH1D(numstr.Data(),numstr.Data(),nbins,minXval,maxXval);
+ fDenominator = new TH1D(denstr.Data(),denstr.Data(),nbins,minXval,maxXval);
+
+ fNumerator->Sumw2();
+ fDenominator->Sumw2();
+
+ fNBinsToScale = 30;
+}
/******************************************************************/
-AliHBTTwoPartFctn1D::~AliHBTTwoPartFctn1D()
+AliHBTOnePairFctn1D::~AliHBTOnePairFctn1D()
{
delete fNumerator;
delete fDenominator;
}
/******************************************************************/
-void AliHBTTwoPartFctn1D::ProcessSameEventParticles(AliHBTPair* pair)
+void AliHBTOnePairFctn1D::ProcessSameEventParticles(AliHBTPair* pair)
{
//Fills the numerator
pair = CheckPair(pair);
if(pair) fNumerator->Fill(GetValue(pair));
}
/******************************************************************/
-void AliHBTTwoPartFctn1D::ProcessDiffEventParticles(AliHBTPair* pair)
+void AliHBTOnePairFctn1D::ProcessDiffEventParticles(AliHBTPair* pair)
{
//fills denumerator
pair = CheckPair(pair);
}
/******************************************************************/
-Double_t AliHBTTwoPartFctn1D::Scale()
+Double_t AliHBTOnePairFctn1D::Scale()
{
if (gDebug>0) cout<<"Enetered Scale()"<<endl;
if(!fNumerator)
/******************************************************************/
/******************************************************************/
-ClassImp( AliHBTTwoPartFctn2D )
+ClassImp( AliHBTOnePairFctn2D )
-AliHBTTwoPartFctn2D::
-AliHBTTwoPartFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval ,
+AliHBTOnePairFctn2D::
+AliHBTOnePairFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval ,
Int_t nYbins, Double_t maxYval, Double_t minYval)
{
fDenominator->Sumw2();
}
-AliHBTTwoPartFctn2D::~AliHBTTwoPartFctn2D()
+AliHBTOnePairFctn2D::~AliHBTOnePairFctn2D()
{
delete fNumerator;
delete fDenominator;
}
-void AliHBTTwoPartFctn2D::ProcessSameEventParticles(AliHBTPair* pair)
+void AliHBTOnePairFctn2D::ProcessSameEventParticles(AliHBTPair* pair)
{
pair = CheckPair(pair);
if(pair)
}
}
-void AliHBTTwoPartFctn2D::ProcessDiffEventParticles(AliHBTPair* pair)
+void AliHBTOnePairFctn2D::ProcessDiffEventParticles(AliHBTPair* pair)
{
pair = CheckPair(pair);
if(pair)
/******************************************************************/
/******************************************************************/
-ClassImp( AliHBTTwoPartFctn3D)
+ClassImp( AliHBTOnePairFctn3D)
-AliHBTTwoPartFctn3D::
-AliHBTTwoPartFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval,
+AliHBTOnePairFctn3D::
+AliHBTOnePairFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval,
Int_t nYbins, Double_t maxYval, Double_t minYval,
Int_t nZbins, Double_t maxZval, Double_t minZval)
fDenominator->Sumw2();
}
+/******************************************************************/
+
+AliHBTOnePairFctn3D::~AliHBTOnePairFctn3D()
+{
+ delete fNumerator;
+ delete fDenominator;
+}
+/******************************************************************/
+
+
+/******************************************************************/
+/******************************************************************/
+/******************************************************************/
+ClassImp( AliHBTTwoPairFctn1D)
+
+AliHBTTwoPairFctn1D::
+AliHBTTwoPairFctn1D(Int_t nbins, Double_t maxval, Double_t minval)
+ {
+ TString numstr = fName + " Numerator"; //title and name of the
+ //numerator histogram
+ TString denstr = fName + " Denominator";//title and name of the
+ //denominator histogram
+
+ fNumerator = new TH1D(numstr.Data(),numstr.Data(),
+ nbins,minval,maxval);
+
+ fDenominator = new TH1D(denstr.Data(),denstr.Data(),
+ nbins,minval,maxval);
+
+ fNumerator->Sumw2();
+ fDenominator->Sumw2();
+ }
+
+AliHBTTwoPairFctn1D::
+AliHBTTwoPairFctn1D(const Char_t* name, const Char_t* title,
+ Int_t nbins, Double_t maxval, Double_t minval)
+ :AliHBTTwoPairFctn(name,title)
+ {
+ TString numstr = fName + " Numerator"; //title and name of the
+ //numerator histogram
+ TString denstr = fName + " Denominator";//title and name of the
+ //denominator histogram
+
+ fNumerator = new TH1D(numstr.Data(),numstr.Data(),
+ nbins,minval,maxval);
+
+ fDenominator = new TH1D(denstr.Data(),denstr.Data(),
+ nbins,minval,maxval);
+
+ fNumerator->Sumw2();
+ fDenominator->Sumw2();
+ }
-AliHBTTwoPartFctn3D::~AliHBTTwoPartFctn3D()
+/******************************************************************/
+AliHBTTwoPairFctn1D::~AliHBTTwoPairFctn1D()
{
delete fNumerator;
delete fDenominator;
}
+void AliHBTTwoPairFctn1D::
+ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
+{
+ partpair = CheckPair(partpair);
+ trackpair = CheckPair(trackpair);
+ if( partpair && trackpair)
+ {
+ Double_t x = GetValue(trackpair,partpair);
+ fNumerator->Fill(x);
+ }
+}
+/******************************************************************/
+void AliHBTTwoPairFctn1D::
+ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
+{
+ partpair = CheckPair(partpair);
+ trackpair = CheckPair(trackpair);
+ if( partpair && trackpair)
+ {
+ Double_t x = GetValue(trackpair,partpair);
+ fDenominator->Fill(x);
+ }
+
+}
/******************************************************************/
/******************************************************************/
/******************************************************************/
-ClassImp( AliHBTFourPartFctn2D)
+ClassImp( AliHBTTwoPairFctn2D)
-AliHBTFourPartFctn2D::
-AliHBTFourPartFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval ,
+AliHBTTwoPairFctn2D::
+AliHBTTwoPairFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval ,
Int_t nYbins, Double_t maxYval, Double_t minYval)
{
fDenominator->Sumw2();
}
-AliHBTFourPartFctn2D::~AliHBTFourPartFctn2D()
+AliHBTTwoPairFctn2D::~AliHBTTwoPairFctn2D()
{
delete fNumerator;
delete fDenominator;
}
-void AliHBTFourPartFctn2D::
+void AliHBTTwoPairFctn2D::
ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
{
partpair = CheckPair(partpair);
}
}
-void AliHBTFourPartFctn2D::
+void AliHBTTwoPairFctn2D::
ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
{
partpair = CheckPair(partpair);
}
+/******************************************************************/
+/******************************************************************/
+/******************************************************************/
+ClassImp(AliHBTTwoPairFctn3D)
+
+void AliHBTTwoPairFctn3D::
+ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
+{
+ partpair = CheckPair(partpair);
+ trackpair = CheckPair(trackpair);
+ if( partpair && trackpair)
+ {
+ Double_t x,y,z;
+ GetValues(trackpair,partpair,x,y,z);
+ fNumerator->Fill(z,y,x);
+ }
+}
+
+void AliHBTTwoPairFctn3D::
+ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
+{
+ partpair = CheckPair(partpair);
+ trackpair = CheckPair(trackpair);
+ if( partpair && trackpair)
+ {
+ Double_t x,y,z;
+ GetValues(trackpair,partpair,x,y,z);
+ fDenominator->Fill(z,y,x);
+ }
+
+}
+