X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HBTAN%2FAliHBTQResolutionFctns.h;h=67abd8318113e9a5389670099666a218dcf4ce21;hb=2947a32c23ca1d54f18cf32df738552ac8737792;hp=2238a771265f9b42a003c539ba526a7f029c4a49;hpb=1b4468967259056a15aef170ff7a975acb7cd25d;p=u%2Fmrichter%2FAliRoot.git diff --git a/HBTAN/AliHBTQResolutionFctns.h b/HBTAN/AliHBTQResolutionFctns.h index 2238a771265..67abd831811 100644 --- a/HBTAN/AliHBTQResolutionFctns.h +++ b/HBTAN/AliHBTQResolutionFctns.h @@ -1,240 +1,308 @@ -#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