Coding violation corrected (G.Galazka)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightasCorrFctn.h
index 76037f89e09c516dd7309cb9437b45a064d978cc..1c5dfb55a9851ddd1d406f13dae91c0b88ab0d0e 100644 (file)
@@ -33,7 +33,7 @@ public:
      
      void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
      
-     Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
+     Int_t GetNumberOfIntervals() const {return fNumberOfIntervals;}
     
      
      TH1*     GetResult();
@@ -44,9 +44,9 @@ protected:
      virtual void BuildHistos() = 0;
      
      void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval);
-     int Getnbins(){ return fnbins;}
-     double GetmaxXval(){return fmaxXval;}
-     double GetminXval(){return fminXval;}
+     int Getnbins() const { return fnbins;}
+     double GetmaxXval() const {return fmaxXval;}
+     double GetminXval() const {return fminXval;}
      
      TObjArray* fNum; // numerators array
      TObjArray* fDen; // denominators array
@@ -70,7 +70,7 @@ public:
     
      
 protected:
-     Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0; return pair->GetQOutLCMS();}
+     Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0; return TMath::Abs(pair->GetQOutLCMS());}
      void BuildHistos();
 private:   
      ClassDef(AliHBTQOutWeightasCorrFctn,1)
@@ -82,7 +82,7 @@ public:
      virtual  ~AliHBTQSideWeightasCorrFctn(){};
          
 protected:
-     Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0;return pair->GetQSideLCMS();}
+     Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0;return TMath::Abs(pair->GetQSideLCMS());}
      void BuildHistos();
 private:   
      ClassDef(AliHBTQSideWeightasCorrFctn,1)
@@ -96,11 +96,81 @@ public:
      virtual  ~AliHBTQLongWeightasCorrFctn(){};
      
 protected:
-     Double_t GetValue(AliHBTPair* pair,AliHBTPair* ppair) const {ppair=0;return pair->GetQLongLCMS();}
+     Double_t GetValue(AliHBTPair* pair,AliHBTPair* ppair) const {ppair=0;return TMath::Abs(pair->GetQLongLCMS());}
      void BuildHistos();
 private:   
      ClassDef(AliHBTQLongWeightasCorrFctn,1)
 };
 
+/********************************************************************************************************/
+class AliHBTasWeightQOSLCorrFctn: public AliHBTTwoPairFctn3D
+{
+       public:
+     AliHBTasWeightQOSLCorrFctn(const char* name = "asejdzbiti3dCF", 
+                      const char* title= "as 3d Correlation Function");
+
+     AliHBTasWeightQOSLCorrFctn(const char* name, const char* title,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);
+     
+     AliHBTasWeightQOSLCorrFctn(const AliHBTasWeightQOSLCorrFctn& in);
+     
+     virtual ~AliHBTasWeightQOSLCorrFctn();
+     
+     void Init();
+     void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+     void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+    
+     void Write();
+            
+    void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
+     
+     Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
+     
+     
+     TH1*     GetResult();
+   
+protected:
+     
+     Double_t GetValue(AliHBTPair* tpair, AliHBTPair* ppair);
+     void BuildHistos();
+     void GetValues(AliHBTPair*, AliHBTPair*, Double_t&,Double_t&, Double_t&) const {};
+     void SetParams(Int_t nXbins,Float_t maxXval,Float_t minXval,Int_t nYbins,Float_t maxYval,Float_t minYval,Int_t nZbins,Float_t maxZval,Float_t minZval);
+     
+     int GetnXbins(){ return fnXbins;}
+     double GetmaxXval(){return fmaxXval;}
+     double GetminXval(){return fminXval;}
+     
+     int GetnYbins(){ return fnYbins;}
+     double GetmaxYval(){return fmaxYval;}
+     double GetminYval(){return fminYval;}
+     
+     int GetnZbins(){ return fnZbins;}
+     double GetmaxZval(){return fmaxZval;}
+     double GetminZval(){return fminZval;}
+     
+Double_t Scale(TH3D* num, TH3D *den);  
+
+     TObjArray* fNum; // numerators array
+     TObjArray* fDen; // denominators array
+     TObjArray* fRat;// correl. fnctns array
+     
+     
+private:
+     int fnXbins; //number of bins in histograms
+     Int_t fNumberOfIntervals;   //number of intervals
+     double fmaxXval; //max histogram's X value 
+     double fminXval; //min histogram's X value
+     int fnYbins;
+     int fnZbins;
+      double fmaxYval; //max histogram's X value 
+     double fminYval; //min histogram's X value
+  double fmaxZval; //max histogram's X value 
+     double fminZval; //min histogram's X value
+     
+     ClassDef(AliHBTasWeightQOSLCorrFctn,1)
+};
+
 
 #endif