]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Using common results histograms
authorsnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Dec 2008 15:47:43 +0000 (15:47 +0000)
committersnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Dec 2008 15:47:43 +0000 (15:47 +0000)
PWG2/FLOW/AliAnalysisTaskFittingQDistribution.cxx
PWG2/FLOW/AliFittingFunctionsForQDistribution.cxx
PWG2/FLOW/AliFittingFunctionsForQDistribution.h
PWG2/FLOW/AliFittingQDistribution.cxx
PWG2/FLOW/AliFittingQDistribution.h

index 04d9619271d4d98af600e9a098fc9716c416a93c..fe59cbb847cf58b7f1db9a18f812bb38ff961bea 100644 (file)
@@ -309,19 +309,31 @@ void AliAnalysisTaskFittingQDistribution::Terminate(Option_t *)
  
  if(fListHistos)
  {         
+  //final results (integrated flow)
+  TH1D *intFlowResults = dynamic_cast<TH1D*>(fListHistos->FindObject("fIntFlowResultsFQD")); 
+  
+  //common histograms to store the final results for the integrated flow
+  AliFlowCommonHistResults *commonHistRes = dynamic_cast<AliFlowCommonHistResults*>(fListHistos->FindObject("AliFlowCommonHistResultsFQD"));
  
-  //profile with avarage selected multiplicity for int. flow 
+  //average selected multiplicity (for int. flow) 
   TProfile *AvMult = dynamic_cast<TProfile*>(fListHistos->FindObject("fAvMultIntFlowFQD"));
   
   //q-distribution
   TH1D *qDist = dynamic_cast<TH1D*>(fListHistos->FindObject("fQDistributionFQD"));
   
-  //histograms to store the final results (integrated flow)
-  TH1D *intFlowResults = dynamic_cast<TH1D*>(fListHistos->FindObject("fIntFlowResultsFQD"));
+  //----------------------------------------------------
+  
+  fFQDA = new AliFittingQDistribution();
+  
+  fFQDA->SetIntFlowResults(intFlowResults); 
+  fFQDA->SetCommonHistsResults(commonHistRes); 
+  
+  fFQDA->SetAverageMultiplicity(AvMult);
+  fFQDA->SetQDistribution(qDist); 
   
-  AliFittingFunctionsForQDistribution finalFitting(AvMult,qDist,intFlowResults);
-         
-  finalFitting.Calculate();  
+  fFQDA->Finish();  
+  
+  //----------------------------------------------------      
  }
  else
  {
@@ -329,7 +341,7 @@ void AliAnalysisTaskFittingQDistribution::Terminate(Option_t *)
  }
 }
 
-
+//================================================================================================================
 
 
 
index de7e2d32228c2d3b95ece2dd2dc9bb0dd0420c06..88f55c161ff9a1608dee7b619ffab95a0abc6e75 100644 (file)
@@ -27,7 +27,6 @@
 #define AliFittingFunctionsForQDistribution_cxx
 
 #include "Riostream.h"
-#include "AliFlowCommonConstants.h"
 #include "TChain.h"
 #include "TFile.h"
 #include "TList.h"
 #include "TAxis.h"
 #include "TH1.h"
 #include "TH1D.h"
-#include "TF1.h"
 #include "TMath.h"
 
 #include "AliFlowEventSimple.h"
 #include "AliFlowTrackSimple.h"
 #include "AliFittingQDistribution.h"
 #include "AliFlowCommonConstants.h"
+#include "AliFlowCommonHistResults.h"
 #include "AliFittingFunctionsForQDistribution.h"
 
 ClassImp(AliFittingFunctionsForQDistribution)
@@ -54,7 +53,8 @@ ClassImp(AliFittingFunctionsForQDistribution)
 AliFittingFunctionsForQDistribution::AliFittingFunctionsForQDistribution():  
  fAvMultFQD(NULL),
  fQDistributionFQD(NULL), 
- fIntFlowResFQD(NULL)
+ fIntFlowResFQD(NULL),
+ fchrFQD(NULL)
 {
  //default constructor 
 }
@@ -64,10 +64,11 @@ AliFittingFunctionsForQDistribution::~AliFittingFunctionsForQDistribution()
  //destructor
 }
 
-AliFittingFunctionsForQDistribution::AliFittingFunctionsForQDistribution(TProfile *AvMult, TH1D *QDistribution, TH1D *intFlowRes):
+AliFittingFunctionsForQDistribution::AliFittingFunctionsForQDistribution(TProfile *AvMult, TH1D *QDistribution, TH1D *intFlowRes, AliFlowCommonHistResults *chr):
  fAvMultFQD(AvMult),
  fQDistributionFQD(QDistribution),
- fIntFlowResFQD(intFlowRes)
+ fIntFlowResFQD(intFlowRes),
+ fchrFQD(chr)
 {
  //custom constructor 
 }
@@ -114,7 +115,7 @@ void AliFittingFunctionsForQDistribution::Calculate()
  cout<<" "<<endl;
  cout<<"************************************"<<endl;
  cout<<"************************************"<<endl;
- cout<<"    integrated flow by fitting"<<endl;
+ cout<<"    integrated flow by fitting "<<endl;
  cout<<"         q-distribution:      "<<endl;
  cout<<""<<endl;
  cout<<" v_"<<n<<"{FQD} = "<<v<<" +/- "<<errorv<<endl;
@@ -126,6 +127,9 @@ void AliFittingFunctionsForQDistribution::Calculate()
  cout<<"************************************"<<endl;
  fIntFlowResFQD->SetBinContent(1,v);
  fIntFlowResFQD->SetBinError(1,errorv);
+ //common histograms:
+ fchrFQD->FillIntegratedFlow(v,errorv);
+ fchrFQD->FillChi(v*pow(AvM,0.5));
  cout<<" "<<endl;
 
  //fQDistributionFQD->Draw("");
index 48200b6c178a0ac82a062a7458b6f6e1295dfbc7..9c17a83250bfc3881192a0c261006511a558c58c 100644 (file)
@@ -33,7 +33,7 @@ class AliFittingFunctionsForQDistribution{
  public:
   AliFittingFunctionsForQDistribution();
   virtual ~AliFittingFunctionsForQDistribution();
-  AliFittingFunctionsForQDistribution(TProfile *AvMult, TH1D *QDistribution, TH1D *intFlowRes);
+  AliFittingFunctionsForQDistribution(TProfile *AvMult, TH1D *QDistribution, TH1D *intFlowRes, AliFlowCommonHistResults *chr);
  
   void Calculate();
 
@@ -41,9 +41,10 @@ class AliFittingFunctionsForQDistribution{
   AliFittingFunctionsForQDistribution(const AliFittingFunctionsForQDistribution& fun);
   AliFittingFunctionsForQDistribution& operator=(const AliFittingFunctionsForQDistribution& fun);
   
-  TProfile *fAvMultFQD;         //avarage selected multiplicity for int. flow
-  TH1D     *fQDistributionFQD;  //q-distribution
-  TH1D     *fIntFlowResFQD;     //integrated flow final result
+  TProfile                 *fAvMultFQD;           //avarage selected multiplicity for int. flow
+  TH1D                     *fQDistributionFQD;    //q-distribution
+  TH1D                     *fIntFlowResFQD;       //integrated flow final result
+  AliFlowCommonHistResults *fchrFQD;              //final results for integrated flow stored in the common histograms
 
   ClassDef(AliFittingFunctionsForQDistribution, 0);
 };
index 60f8cd79257027ab18c136b3831aed67783fb484..e15c1eef1e4a55e53899c752acd3f7f6a8dd068e 100644 (file)
@@ -60,6 +60,7 @@ AliFittingQDistribution::AliFittingQDistribution():
  fAvMultIntFlowFQD(NULL),
  fIntFlowResultsFQD(NULL),
  fCommonHists(NULL),
+ fCommonHistsResults(NULL),
  fQDistributionFQD(NULL)
 {
  //constructor 
@@ -84,7 +85,7 @@ void AliFittingQDistribution::CreateOutputObjects()
  fAvMultIntFlowFQD->SetYTitle("");
  fAvMultIntFlowFQD->SetLabelSize(0.06);
  fAvMultIntFlowFQD->SetMarkerStyle(25);
- fAvMultIntFlowFQD->SetLabelOffset(0.01);
+ fAvMultIntFlowFQD->SetLabelOffset(0.02);
  (fAvMultIntFlowFQD->GetXaxis())->SetBinLabel(1,"Average Multiplicity");
  fHistList->Add(fAvMultIntFlowFQD);
  
@@ -95,7 +96,7 @@ void AliFittingQDistribution::CreateOutputObjects()
  fIntFlowResultsFQD->SetMarkerStyle(25);
  fIntFlowResultsFQD->SetLabelSize(0.06);
  fAvMultIntFlowFQD->SetLabelOffset(0.02);
- (fIntFlowResultsFQD->GetXaxis())->SetBinLabel(1,"v_{n}");
+ (fIntFlowResultsFQD->GetXaxis())->SetBinLabel(1,"v_{n}{FQD}");
  fHistList->Add(fIntFlowResultsFQD);
  
  //q-distribution 
@@ -105,8 +106,12 @@ void AliFittingQDistribution::CreateOutputObjects()
  fHistList->Add(fQDistributionFQD);
   
  //common control histograms
- fCommonHists = new AliFlowCommonHist("FittingQDistribution");
- fHistList->Add(fCommonHists->GetHistList());  
+ fCommonHists = new AliFlowCommonHist("AliFlowCommonHistFQD");
+ fHistList->Add(fCommonHists);  
+ //common histograms for final results (2nd order)
+ fCommonHistsResults= new AliFlowCommonHistResults("AliFlowCommonHistResultsFQD");
+ fHistList->Add(fCommonHistsResults); 
  
 }//end of CreateOutputObjects()
 
@@ -146,7 +151,7 @@ void AliFittingQDistribution::Make(AliFlowEventSimple* anEvent)
 void AliFittingQDistribution::Finish()
 {
  //calculate the final results
- AliFittingFunctionsForQDistribution finalFitting(fAvMultIntFlowFQD,fQDistributionFQD,fIntFlowResultsFQD);
+ AliFittingFunctionsForQDistribution finalFitting(fAvMultIntFlowFQD,fQDistributionFQD,fIntFlowResultsFQD,fCommonHistsResults);
          
  finalFitting.Calculate();            
 }
index 7ae855151bf3e05a1267838389a70281ccdeb268..de4172c4cfed33d645258e5ec00840f5653cd1da 100644 (file)
@@ -41,19 +41,37 @@ class AliFittingQDistribution{
   virtual void Make(AliFlowEventSimple* anEvent);
   virtual void Finish();
   virtual void WriteHistograms(TString* outputFileName);
-  
+
+//----------------------------------------------------------------------------------------------------------------
+//                                            setters and getters                                                 
+//----------------------------------------------------------------------------------------------------------------      
   TList* GetHistList() const {return this->fHistList;}      //output histogram list
+  
+  void SetIntFlowResults(TH1D* ifr)  {this->fIntFlowResultsFQD = ifr;};
+  TH1D* GetIntFlowResults() const    {return this->fIntFlowResultsFQD;};
+  
+  void SetCommonHistsResults(AliFlowCommonHistResults* chr)  {this->fCommonHistsResults = chr;};
+  AliFlowCommonHistResults* GetCommonHistsResults() const    {return this->fCommonHistsResults;};
+  
+  void SetAverageMultiplicity(TProfile* am)      {this->fAvMultIntFlowFQD = am;};
+  TProfile* GetAverageMultiplicity() const       {return this->fAvMultIntFlowFQD;};
+  
+  void SetQDistribution(TH1D* qd)  {this->fQDistributionFQD = qd;};
+  TH1D* GetQDistribution() const   {return this->fQDistributionFQD;};
+//----------------------------------------------------------------------------------------------------------------
  
  private:
   AliFittingQDistribution(const AliFittingQDistribution& afqd);
   AliFittingQDistribution& operator=(const AliFittingQDistribution& afqd);
-  AliFlowTrackSimple* fTrack;                               //track
   
-  TList*             fHistList;         //list to hold all output histograms
-  TProfile*          fAvMultIntFlowFQD;    //avarage selected multiplicity
-  TH1D*              fIntFlowResultsFQD;   //integrated flow final results
-  AliFlowCommonHist* fCommonHists;      //common control histograms
-  TH1D*              fQDistributionFQD;            //q-distribution
+  AliFlowTrackSimple*        fTrack;                   //track
+   
+  TList*                     fHistList;                //list to hold all output histograms
+  TProfile*                  fAvMultIntFlowFQD;        //avarage selected multiplicity
+  TH1D*                      fIntFlowResultsFQD;       //integrated flow final results
+  AliFlowCommonHist*         fCommonHists;             //common control histograms
+  AliFlowCommonHistResults*  fCommonHistsResults;      //final results for integrated flow stored in the common histograms 
+  TH1D*                      fQDistributionFQD;        //q-distribution
       
   ClassDef(AliFittingQDistribution, 0);
 };