From: skowron Date: Tue, 26 Aug 2003 17:13:17 +0000 (+0000) Subject: Bug corrections. New monitoring functions added (Q's VS QInv) X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=0bb0710808d5c005df0875008431072121ca6177;hp=12ba5510c60191c882c2e2299ade3cf43fcf552f Bug corrections. New monitoring functions added (Q's VS QInv) --- diff --git a/HBTAN/AliHBTCorrFitFctn.cxx b/HBTAN/AliHBTCorrFitFctn.cxx index 66d4edbc3f7..b84d5e25543 100644 --- a/HBTAN/AliHBTCorrFitFctn.cxx +++ b/HBTAN/AliHBTCorrFitFctn.cxx @@ -31,10 +31,15 @@ void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTP //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++; @@ -49,12 +54,10 @@ void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTP 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()); } } /****************************************************************/ diff --git a/HBTAN/AliHBTFunction.cxx b/HBTAN/AliHBTFunction.cxx index d7af8240672..767834a3fdc 100644 --- a/HBTAN/AliHBTFunction.cxx +++ b/HBTAN/AliHBTFunction.cxx @@ -1038,13 +1038,13 @@ void AliHBTTwoPairFctn1D::ProcessSameEventParticles(AliHBTPair* trackpair, AliHB { // 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); } /******************************************************************/ @@ -1052,13 +1052,13 @@ void AliHBTTwoPairFctn1D::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHB { // 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); } /******************************************************************/ /******************************************************************/ @@ -1110,14 +1110,14 @@ void AliHBTTwoPairFctn2D::ProcessSameEventParticles(AliHBTPair* trackpair, AliHB { //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); } /******************************************************************/ @@ -1125,14 +1125,14 @@ void AliHBTTwoPairFctn2D::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHB { //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); } /******************************************************************/ @@ -1187,14 +1187,15 @@ void AliHBTTwoPairFctn3D::ProcessSameEventParticles(AliHBTPair* trackpair, AliHB { // 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); + } /******************************************************************/ @@ -1202,15 +1203,14 @@ void AliHBTTwoPairFctn3D::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHB { // 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); } /******************************************************************/ diff --git a/HBTAN/AliHBTQDistributionFctns.cxx b/HBTAN/AliHBTQDistributionFctns.cxx index ae28d0b6747..73be44c877b 100644 --- a/HBTAN/AliHBTQDistributionFctns.cxx +++ b/HBTAN/AliHBTQDistributionFctns.cxx @@ -1,56 +1,108 @@ #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 // +// // +//////////////////////////////////////////////////////////////////// /******************************************************************/ /******************************************************************/ 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}"); +} /******************************************************************/ /******************************************************************/ diff --git a/HBTAN/AliHBTQDistributionFctns.h b/HBTAN/AliHBTQDistributionFctns.h index df5fc2fa384..7abda369fd2 100644 --- a/HBTAN/AliHBTQDistributionFctns.h +++ b/HBTAN/AliHBTQDistributionFctns.h @@ -9,6 +9,10 @@ class AliHBTQOutDistributionVsKtFctn; //QOutCMSLC Distribution Vs Kt 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" /***********************************************************************/ @@ -92,5 +96,63 @@ class AliHBTQInvDistributionVsKtFctn: public AliHBTOnePairFctn2D /***********************************************************************/ /***********************************************************************/ +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 diff --git a/HBTAN/HBTAnalysisLinkDef.h b/HBTAN/HBTAnalysisLinkDef.h index 1af128b4814..1218a4b3a5f 100644 --- a/HBTAN/HBTAnalysisLinkDef.h +++ b/HBTAN/HBTAnalysisLinkDef.h @@ -110,6 +110,9 @@ #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+;