added higher harmonics
authorsnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Nov 2012 18:30:47 +0000 (18:30 +0000)
committersnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Nov 2012 18:30:47 +0000 (18:30 +0000)
PWG/FLOW/Base/AliFlowEventSimpleMakerOnTheFly.cxx
PWG/FLOW/Base/AliFlowEventSimpleMakerOnTheFly.h
PWGCF/FLOW/macros/runFlowAnalysisOnTheFly.C

index 2459c2e..e178456 100644 (file)
@@ -48,6 +48,8 @@ fV1(0.),
 fV2(0.05),
 fV3(0.),
 fV4(0.),
+fV5(0.),
+fV6(0.),
 fUniformFluctuationsV2(kFALSE),
 fMinV2(0.04),
 fMaxV2(0.06),
@@ -109,7 +111,7 @@ void AliFlowEventSimpleMakerOnTheFly::Init()
  // b) Define the phi distribution:
  Double_t dPhiMin = 0.; 
  Double_t dPhiMax = TMath::TwoPi();
- fPhiDistribution = new TF1("fPhiDistribution","1+2.*[1]*TMath::Cos(x-[0])+2.*[2]*TMath::Cos(2.*(x-[0]))+2.*[3]*TMath::Cos(3.*(x-[0]))+2.*[4]*TMath::Cos(4.*(x-[0]))",dPhiMin,dPhiMax);
+ fPhiDistribution = new TF1("fPhiDistribution","1+2.*[1]*TMath::Cos(x-[0])+2.*[2]*TMath::Cos(2.*(x-[0]))+2.*[3]*TMath::Cos(3.*(x-[0]))+2.*[4]*TMath::Cos(4.*(x-[0]))+2.*[5]*TMath::Cos(5.*(x-[0]))+2.*[6]*TMath::Cos(6.*(x-[0]))",dPhiMin,dPhiMax);
  fPhiDistribution->SetParName(0,"Reaction Plane");
  fPhiDistribution->SetParameter(0,0.);
  fPhiDistribution->SetParName(1,"Directed Flow (v1)"); 
@@ -120,7 +122,11 @@ void AliFlowEventSimpleMakerOnTheFly::Init()
  fPhiDistribution->SetParameter(3,fV3);
  fPhiDistribution->SetParName(4,"Quadrangular Flow (v4)");
  fPhiDistribution->SetParameter(4,fV4);
-    
+ fPhiDistribution->SetParName(5,"Pentagonal Flow (v5)");
+ fPhiDistribution->SetParameter(5,fV5);
+ fPhiDistribution->SetParName(6,"Hexagonal Flow (v6)");
+ fPhiDistribution->SetParameter(6,fV6);
+
 } // end of void AliFlowEventSimpleMakerOnTheFly::Init()
 
 //====================================================================================================================
index a3ae843..c8a398a 100644 (file)
@@ -46,6 +46,10 @@ class AliFlowEventSimpleMakerOnTheFly{
   Double_t GetV3() const {return this->fV3;} 
   void SetV4(Double_t dV4) {this->fV4 = dV4;}
   Double_t GetV4() const {return this->fV4;} 
+  void SetV5(Double_t dV5) {this->fV5 = dV5;}
+  Double_t GetV5() const {return this->fV5;} 
+  void SetV6(Double_t dV6) {this->fV6 = dV6;}
+  Double_t GetV6() const {return this->fV6;} 
   void SetUniformFluctuationsV2(Bool_t b) {this->fUniformFluctuationsV2 = b;}
   Bool_t GetUniformFluctuationsV2() const {return this->fUniformFluctuationsV2;} 
   void SetMinV2(Double_t dMinV2) {this->fMinV2 = dMinV2;}
@@ -90,6 +94,8 @@ class AliFlowEventSimpleMakerOnTheFly{
   Double_t fV2; // harmonic v2
   Double_t fV3; // harmonic v3
   Double_t fV4; // harmonic v4
+  Double_t fV5; // harmonic v5
+  Double_t fV6; // harmonic v6
   Bool_t fUniformFluctuationsV2; // v2 is sampled uniformly for each event and for all particles from [fMinV2,fMaxV2] 
   Double_t fMinV2; // if v2 is sampled uniformly for each event, this is lower boundary on its value  
   Double_t fMaxV2; // if v2 is sampled uniformly for each event, this is upper boundary on its value
index 35178a0..942f9bb 100644 (file)
@@ -33,6 +33,8 @@ Double_t dV1 = 0.0; // constant harmonic v1
 Double_t dV2 = 0.05; // constant harmonic v2 
 Double_t dV3 = 0.0; // constant harmonic v3
 Double_t dV4 = 0.0; // constant harmonic v4
+Double_t dV5 = 0.0; // constant harmonic v5
+Double_t dV6 = 0.0; // constant harmonic v6
 //    Remark 2: By default all harmonics are constant for each event and for each particle. However, for v2 
 //              the uniform event-wise fluctuations or pt dependence can be enabled:
 //  d1) Enable/disable uniform event-wise fluctuations of v2: 
@@ -158,6 +160,8 @@ int runFlowAnalysisOnTheFly(Int_t mode=mLocal)
  eventMakerOnTheFly->SetV2(dV2);
  eventMakerOnTheFly->SetV3(dV3);
  eventMakerOnTheFly->SetV4(dV4); 
+ eventMakerOnTheFly->SetV5(dV5); 
+ eventMakerOnTheFly->SetV6(dV6); 
  if(bUniformFluctuationsV2)
  {
   eventMakerOnTheFly->SetUniformFluctuationsV2(bUniformFluctuationsV2); 
@@ -253,6 +257,7 @@ int runFlowAnalysisOnTheFly(Int_t mode=mLocal)
   qc->SetMaxMult(10000);      
   qc->SetBookOnlyBasicCCH(kFALSE); // book only basic common control histograms
   qc->SetCalculateDiffFlowVsEta(kTRUE); // if you set kFALSE only differential flow vs pt is calculated
+  qc->SetCalculateMixedHarmonics(kFALSE); // calculate all multi-partice mixed-harmonics correlators
   qc->Init();  
  } // end of if(QC)
  // GFC = Generating Function Cumulants 
@@ -576,6 +581,16 @@ void CheckUserSettings()
   printf("\n WARNING: |dV4| > 0.5 !!!! Please check your settings before taking off.\n\n");
   exit(0);
  }
+ if(TMath::Abs(dV5) > 0.5)
+ {
+  printf("\n WARNING: |dV5| > 0.5 !!!! Please check your settings before taking off.\n\n");
+  exit(0);
+ }
+ if(TMath::Abs(dV6) > 0.5)
+ {
+  printf("\n WARNING: |dV6| > 0.5 !!!! Please check your settings before taking off.\n\n");
+  exit(0);
+ }
  if(LYZ1SUM && LYZ2SUM)
  {
   cout<<" WARNING: You cannot run LYZ1 and LYZ2 at the same time! LYZ2 needs the output from LYZ1."<<endl;