#include "TProfile.h"
#include "TProfile2D.h"
#include "TProfile3D.h"
+#include "TMath.h"
#include "AliFlowEventSimple.h"
#include "AliFlowTrackSimple.h"
#include "AliFlowAnalysisWithQCumulants.h"
fQCorrelations(NULL),
fQProduct(NULL),
fDirectCorrelations(NULL),
- fReq1n(NULL),
- fImq1n(NULL),
- fReq2n(NULL),
- fImq2n(NULL),
- f2PerBin1n1n(NULL),
- f2PerBin2n2n(NULL),
- f3PerBin2n1n1n(NULL),
- f3PerBin1n1n2n(NULL),
- f4PerBin1n1n1n1n(NULL),
+ fPtReq1nRP(NULL),
+ fPtImq1nRP(NULL),
+ fPtReq2nRP(NULL),
+ fPtImq2nRP(NULL),
+ f2PerPtBin1n1nRP(NULL),
+ f2PerPtBin2n2nRP(NULL),
+ f3PerPtBin2n1n1nRP(NULL),
+ f3PerPtBin1n1n2nRP(NULL),
+ f4PerPtBin1n1n1n1nRP(NULL),
+ fEtaReq1nRP(NULL),
+ fEtaImq1nRP(NULL),
+ fEtaReq2nRP(NULL),
+ fEtaImq2nRP(NULL),
+ f2PerEtaBin1n1nRP(NULL),
+ f2PerEtaBin2n2nRP(NULL),
+ f3PerEtaBin2n1n1nRP(NULL),
+ f3PerEtaBin1n1n2nRP(NULL),
+ f4PerEtaBin1n1n1n1nRP(NULL),
+ fPtReq1nPOI(NULL),
+ fPtImq1nPOI(NULL),
+ fPtReq2nPOI(NULL),
+ fPtImq2nPOI(NULL),
+ f2PerPtBin1n1nPOI(NULL),
+ f2PerPtBin2n2nPOI(NULL),
+ f3PerPtBin2n1n1nPOI(NULL),
+ f3PerPtBin1n1n2nPOI(NULL),
+ f4PerPtBin1n1n1n1nPOI(NULL),
+ fEtaReq1nPOI(NULL),
+ fEtaImq1nPOI(NULL),
+ fEtaReq2nPOI(NULL),
+ fEtaImq2nPOI(NULL),
+ f2PerEtaBin1n1nPOI(NULL),
+ f2PerEtaBin2n2nPOI(NULL),
+ f3PerEtaBin2n1n1nPOI(NULL),
+ f3PerEtaBin1n1n2nPOI(NULL),
+ f4PerEtaBin1n1n1n1nPOI(NULL),
fCommonHists2nd(NULL),
fCommonHists4th(NULL),
fCommonHists6th(NULL),
f8pDistribution(NULL),
fnBinsPt(0),
fPtMin(0),
- fPtMax(0)
+ fPtMax(0),
+ fnBinsEta(0),
+ fEtaMin(0),
+ fEtaMax(0)
{
//constructor
fHistList = new TList();
fPtMin = AliFlowCommonConstants::GetPtMin();
fPtMax = AliFlowCommonConstants::GetPtMax();
+ fnBinsEta = AliFlowCommonConstants::GetNbinsEta();
+ fEtaMin = AliFlowCommonConstants::GetEtaMin();
+ fEtaMax = AliFlowCommonConstants::GetEtaMax();
}
AliFlowAnalysisWithQCumulants::~AliFlowAnalysisWithQCumulants()
void AliFlowAnalysisWithQCumulants::CreateOutputObjects()
{
//various output histograms
-
+
//avarage multiplicity
fAvMultIntFlowQC = new TProfile("fAvMultIntFlowQC","Average Multiplicity",1,0,1,"s");
fAvMultIntFlowQC->SetXTitle("");
fDirectCorrelations->SetYTitle("correlations");
fHistList->Add(fDirectCorrelations);
- //fReq1n
- fReq1n = new TProfile("fReq1n","Re[q_n]",fnBinsPt,fPtMin,fPtMax,"s");
- fReq1n->SetXTitle("p_{t} [GeV]");
- fReq1n->SetYTitle("Re[q_n]");
- //fHistList->Add(fReq1n);
-
- //fImq1n
- fImq1n = new TProfile("fImq1n","Im[q_n]",fnBinsPt,fPtMin,fPtMax,"s");
- fImq1n->SetXTitle("p_{t} [GeV]");
- fImq1n->SetYTitle("Im[q_n]");
- //fHistList->Add(fImq1n);
-
- //fReq2n
- fReq2n = new TProfile("fReq2n","Re[q_2n]",fnBinsPt,fPtMin,fPtMax,"s");
- fReq2n->SetXTitle("p_{t} [GeV]");
- fReq2n->SetYTitle("Im[D]");
- //fHistList->Add(fReq2n);
-
- //fImq2n
- fImq2n = new TProfile("fImq2n","Im[q_2n]",fnBinsPt,fPtMin,fPtMax,"s");
- fImq2n->SetXTitle("p_{t} [GeV]");
- fImq2n->SetYTitle("Im[q_2n]");
- //fHistList->Add(fImq2n);
-
- //f2PerBin1n1n
- f2PerBin1n1n = new TProfile("f2PerBin1n1n","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s");
- f2PerBin1n1n->SetXTitle("p_{t} [GeV]");
- //f2PerBin1n1n->SetYTitle("<2'>_{n|n}");
- fHistList->Add(f2PerBin1n1n);
-
- //f2PerBin2n2n
- f2PerBin2n2n = new TProfile("f2PerBin2n2n","<2'>_{2n|2n}",fnBinsPt,fPtMin,fPtMax,"s");
- f2PerBin2n2n->SetXTitle("p_{t} [GeV]");
- //f2PerBin2n2n->SetYTitle("<2'>_{2n|2n}");
- fHistList->Add(f2PerBin2n2n);
-
- //f3PerBin2n1n1n
- f3PerBin2n1n1n = new TProfile("f3PerBin2n1n1n","<3'>_{2n|n,n}",fnBinsPt,fPtMin,fPtMax,"s");
- f3PerBin2n1n1n->SetXTitle("p_{t} [GeV]");
- //f3PerBin2n1n1n->SetYTitle("<3'>_{2n|n,n}");
- fHistList->Add(f3PerBin2n1n1n);
-
- //f3PerBin1n1n2n
- f3PerBin1n1n2n = new TProfile("f3PerBin1n1n2n","<3'>_{n,n|2n}",fnBinsPt,fPtMin,fPtMax,"s");
- f3PerBin1n1n2n->SetXTitle("p_{t} [GeV]");
- //f3PerBin1n1n2n->SetYTitle("<3'>_{n,n|2n}");
- fHistList->Add(f3PerBin1n1n2n);
-
- //f4PerBin1n1n1n1n
- f4PerBin1n1n1n1n = new TProfile("f4PerBin1n1n1n1n","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s");
- f4PerBin1n1n1n1n->SetXTitle("p_{t} [GeV]");
- //f4PerBin1n1n1n1n->SetYTitle("<4'>_{n,n|n,n}");
- fHistList->Add(f4PerBin1n1n1n1n);
+ //fPtReq1nRP
+ fPtReq1nRP = new TProfile("fPtReq1nRP","Re[q_n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtReq1nRP->SetXTitle("p_{t} [GeV]");
+ fPtReq1nRP->SetYTitle("Re[q_n]");
+ //fHistList->Add(fPtReq1nRP);
+
+ //fPtImq1nRP
+ fPtImq1nRP = new TProfile("fPtImq1nRP","Im[q_n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtImq1nRP->SetXTitle("p_{t} [GeV]");
+ fPtImq1nRP->SetYTitle("Im[q_n]");
+ //fHistList->Add(fPtImq1nRP);
+
+ //fPtReq2nRP
+ fPtReq2nRP = new TProfile("fPtReq2nRP","Re[q_2n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtReq2nRP->SetXTitle("p_{t} [GeV]");
+ fPtReq2nRP->SetYTitle("Im[D]");
+ //fHistList->Add(fPtReq2nRP);
+
+ //fPtImq2nRP
+ fPtImq2nRP = new TProfile("fPtImq2nRP","Im[q_2n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtImq2nRP->SetXTitle("p_{t} [GeV]");
+ fPtImq2nRP->SetYTitle("Im[q_2n]");
+ //fHistList->Add(fPtImq2nRP);
+
+ //f2PerPtBin1n1nRP
+ f2PerPtBin1n1nRP = new TProfile("f2PerPtBin1n1nRP","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f2PerPtBin1n1nRP->SetXTitle("p_{t} [GeV]");
+ //f2PerPtBin1n1n->SetYTitle("<2'>_{n|n}");
+ fHistList->Add(f2PerPtBin1n1nRP);
+
+ //f2PerPtBin2n2nRP
+ f2PerPtBin2n2nRP = new TProfile("f2PerPtBin2n2nRP","<2'>_{2n|2n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f2PerPtBin2n2nRP->SetXTitle("p_{t} [GeV]");
+ //f2PerPtBin2n2nRP->SetYTitle("<2'>_{2n|2n}");
+ fHistList->Add(f2PerPtBin2n2nRP);
+
+ //f3PerPtBin2n1n1nRP
+ f3PerPtBin2n1n1nRP = new TProfile("f3PerPtBin2n1n1nRP","<3'>_{2n|n,n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f3PerPtBin2n1n1nRP->SetXTitle("p_{t} [GeV]");
+ //f3PerPtBin2n1n1nRP->SetYTitle("<3'>_{2n|n,n}");
+ fHistList->Add(f3PerPtBin2n1n1nRP);
+
+ //f3PerPtBin1n1n2nRP
+ f3PerPtBin1n1n2nRP = new TProfile("f3PerPtBin1n1n2nRP","<3'>_{n,n|2n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f3PerPtBin1n1n2nRP->SetXTitle("p_{t} [GeV]");
+ //f3PerPtBin1n1n2nRP->SetYTitle("<3'>_{n,n|2n}");
+ fHistList->Add(f3PerPtBin1n1n2nRP);
+
+ //f4PerPtBin1n1n1n1nRP
+ f4PerPtBin1n1n1n1nRP = new TProfile("f4PerPtBin1n1n1n1nRP","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f4PerPtBin1n1n1n1nRP->SetXTitle("p_{t} [GeV]");
+ //f4PerPtBin1n1n1n1nRP->SetYTitle("<4'>_{n,n|n,n}");
+ fHistList->Add(f4PerPtBin1n1n1n1nRP);
+
+ //fEtaReq1nRP
+ fEtaReq1nRP = new TProfile("fEtaReq1nRP","Re[q_n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaReq1nRP->SetXTitle("#eta");
+ fEtaReq1nRP->SetYTitle("Re[q_n]");
+ fHistList->Add(fEtaReq1nRP);
+
+ //fEtaImq1nRP
+ fEtaImq1nRP = new TProfile("fEtaImq1nRP","Im[q_n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaImq1nRP->SetXTitle("#eta");
+ fEtaImq1nRP->SetYTitle("Im[q_n]");
+ //fHistList->Add(fEtaImq1nRP);
+
+ //fEtaReq2nRP
+ fEtaReq2nRP = new TProfile("fEtaReq2nRP","Re[q_2n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaReq2nRP->SetXTitle("#eta");
+ fEtaReq2nRP->SetYTitle("Im[D]");
+ //fHistList->Add(fEtaReq2nRP);
+
+ //fEtaImq2nRP
+ fEtaImq2nRP = new TProfile("fEtaImq2nRP","Im[q_2n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaImq2nRP->SetXTitle("#eta");
+ fEtaImq2nRP->SetYTitle("Im[q_2n]");
+ //fHistList->Add(fEtaImq2nRP);
+
+ //f2PerEtaBin1n1nRP
+ f2PerEtaBin1n1nRP = new TProfile("f2PerEtaBin1n1nRP","<2'>_{n|n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f2PerEtaBin1n1nRP->SetXTitle("#eta");
+ //f2PerEtaBin1n1nRP->SetYTitle("<2'>_{n|n}");
+ fHistList->Add(f2PerEtaBin1n1nRP);
+
+ //f2PerEtaBin2n2nRP
+ f2PerEtaBin2n2nRP = new TProfile("f2PerEtaBin2n2nRP","<2'>_{2n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f2PerEtaBin2n2nRP->SetXTitle("#eta");
+ //f2PerEtaBin2n2nRP->SetYTitle("<2'>_{2n|2n}");
+ fHistList->Add(f2PerEtaBin2n2nRP);
+
+ //f3PerEtaBin2n1n1nRP
+ f3PerEtaBin2n1n1nRP = new TProfile("f3PerEtaBin2n1n1nRP","<3'>_{2n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f3PerEtaBin2n1n1nRP->SetXTitle("#eta");
+ //f3PerEtaBin2n1n1nRP->SetYTitle("<3'>_{2n|n,n}");
+ fHistList->Add(f3PerEtaBin2n1n1nRP);
+
+ //f3PerEtaBin1n1n2nRP
+ f3PerEtaBin1n1n2nRP = new TProfile("f3PerEtaBin1n1n2RP","<3'>_{n,n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f3PerEtaBin1n1n2nRP->SetXTitle("#eta");
+ //f3PerEtaBin1n1n2n->SetYTitle("<3'>_{n,n|2n}");
+ fHistList->Add(f3PerEtaBin1n1n2nRP);
+
+ //f4PerEtaBin1n1n1n1nRP
+ f4PerEtaBin1n1n1n1nRP = new TProfile("f4PerEtaBin1n1n1n1nRP","<4'>_{n,n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f4PerEtaBin1n1n1n1nRP->SetXTitle("#eta");
+ //f4PerEtaBin1n1n1n1nRP->SetYTitle("<4'>_{n,n|n,n}");
+ fHistList->Add(f4PerEtaBin1n1n1n1nRP);
+
+ //fPtReq1nPOI
+ fPtReq1nPOI = new TProfile("fPtReq1nPOI","Re[q_n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtReq1nPOI->SetXTitle("p_{t} [GeV]");
+ fPtReq1nPOI->SetYTitle("Re[q_n]");
+ //fHistList->Add(fPtReq1nPOI);
+
+ //fPtImq1nPOI
+ fPtImq1nPOI = new TProfile("fPtImq1nPOI","Im[q_n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtImq1nPOI->SetXTitle("p_{t} [GeV]");
+ fPtImq1nPOI->SetYTitle("Im[q_n]");
+ //fHistList->Add(fPtImq1nPOI);
+
+ //fPtReq2nPOI
+ fPtReq2nPOI = new TProfile("fPtReq2nPOI","Re[q_2n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtReq2nPOI->SetXTitle("p_{t} [GeV]");
+ fPtReq2nPOI->SetYTitle("Im[D]");
+ //fHistList->Add(fPtReq2nPOI);
+
+ //fPtImq2nPOI
+ fPtImq2nPOI = new TProfile("fPtImq2nPOI","Im[q_2n]",fnBinsPt,fPtMin,fPtMax,"s");
+ fPtImq2nPOI->SetXTitle("p_{t} [GeV]");
+ fPtImq2nPOI->SetYTitle("Im[q_2n]");
+ //fHistList->Add(fPtImq2nPOI);
+
+ //f2PerPtBin1n1nPOI
+ f2PerPtBin1n1nPOI = new TProfile("f2PerPtBin1n1nPOI","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f2PerPtBin1n1nPOI->SetXTitle("p_{t} [GeV]");
+ //f2PerPtBin1n1n->SetYTitle("<2'>_{n|n}");
+ fHistList->Add(f2PerPtBin1n1nPOI);
+
+ //f2PerPtBin2n2nPOI
+ f2PerPtBin2n2nPOI = new TProfile("f2PerPtBin2n2nPOI","<2'>_{2n|2n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f2PerPtBin2n2nPOI->SetXTitle("p_{t} [GeV]");
+ //f2PerPtBin2n2nPOI->SetYTitle("<2'>_{2n|2n}");
+ fHistList->Add(f2PerPtBin2n2nPOI);
+
+ //f3PerPtBin2n1n1nPOI
+ f3PerPtBin2n1n1nPOI = new TProfile("f3PerPtBin2n1n1nPOI","<3'>_{2n|n,n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f3PerPtBin2n1n1nPOI->SetXTitle("p_{t} [GeV]");
+ //f3PerPtBin2n1n1nPOI->SetYTitle("<3'>_{2n|n,n}");
+ fHistList->Add(f3PerPtBin2n1n1nPOI);
+
+ //f3PerPtBin1n1n2nPOI
+ f3PerPtBin1n1n2nPOI = new TProfile("f3PerPtBin1n1n2nPOI","<3'>_{n,n|2n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f3PerPtBin1n1n2nPOI->SetXTitle("p_{t} [GeV]");
+ //f3PerPtBin1n1n2nPOI->SetYTitle("<3'>_{n,n|2n}");
+ fHistList->Add(f3PerPtBin1n1n2nPOI);
+
+ //f4PerPtBin1n1n1n1nPOI
+ f4PerPtBin1n1n1n1nPOI = new TProfile("f4PerPtBin1n1n1n1nPOI","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s");
+ f4PerPtBin1n1n1n1nPOI->SetXTitle("p_{t} [GeV]");
+ //f4PerPtBin1n1n1n1nPOI->SetYTitle("<4'>_{n,n|n,n}");
+ fHistList->Add(f4PerPtBin1n1n1n1nPOI);
+
+ //fEtaReq1nPOI
+ fEtaReq1nPOI = new TProfile("fEtaReq1nPOI","Re[q_n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaReq1nPOI->SetXTitle("#eta");
+ fEtaReq1nPOI->SetYTitle("Re[q_n]");
+ fHistList->Add(fEtaReq1nPOI);
+
+ //fEtaImq1nPOI
+ fEtaImq1nPOI = new TProfile("fEtaImq1nPOI","Im[q_n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaImq1nPOI->SetXTitle("#eta");
+ fEtaImq1nPOI->SetYTitle("Im[q_n]");
+ //fHistList->Add(fEtaImq1nPOI);
+
+ //fEtaReq2nPOI
+ fEtaReq2nPOI = new TProfile("fEtaReq2nPOI","Re[q_2n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaReq2nPOI->SetXTitle("#eta");
+ fEtaReq2nPOI->SetYTitle("Im[D]");
+ //fHistList->Add(fEtaReq2nPOI);
+
+ //fEtaImq2nPOI
+ fEtaImq2nPOI = new TProfile("fEtaImq2nPOI","Im[q_2n]",fnBinsEta,fEtaMin,fEtaMax,"s");
+ fEtaImq2nPOI->SetXTitle("#eta");
+ fEtaImq2nPOI->SetYTitle("Im[q_2n]");
+ //fHistList->Add(fEtaImq2nPOI);
+
+ //f2PerEtaBin1n1nPOI
+ f2PerEtaBin1n1nPOI = new TProfile("f2PerEtaBin1n1nPOI","<2'>_{n|n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f2PerEtaBin1n1nPOI->SetXTitle("#eta");
+ //f2PerEtaBin1n1nPOI->SetYTitle("<2'>_{n|n}");
+ fHistList->Add(f2PerEtaBin1n1nPOI);
+
+ //f2PerEtaBin2n2nPOI
+ f2PerEtaBin2n2nPOI = new TProfile("f2PerEtaBin2n2nPOI","<2'>_{2n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f2PerEtaBin2n2nPOI->SetXTitle("#eta");
+ //f2PerEtaBin2n2nPOI->SetYTitle("<2'>_{2n|2n}");
+ fHistList->Add(f2PerEtaBin2n2nPOI);
+
+ //f3PerEtaBin2n1n1nPOI
+ f3PerEtaBin2n1n1nPOI = new TProfile("f3PerEtaBin2n1n1nPOI","<3'>_{2n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f3PerEtaBin2n1n1nPOI->SetXTitle("#eta");
+ //f3PerEtaBin2n1n1nPOI->SetYTitle("<3'>_{2n|n,n}");
+ fHistList->Add(f3PerEtaBin2n1n1nPOI);
+
+ //f3PerEtaBin1n1n2nPOI
+ f3PerEtaBin1n1n2nPOI = new TProfile("f3PerEtaBin1n1n2POI","<3'>_{n,n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f3PerEtaBin1n1n2nPOI->SetXTitle("#eta");
+ //f3PerEtaBin1n1n2n->SetYTitle("<3'>_{n,n|2n}");
+ fHistList->Add(f3PerEtaBin1n1n2nPOI);
+
+ //f4PerEtaBin1n1n1n1nPOI
+ f4PerEtaBin1n1n1n1nPOI = new TProfile("f4PerEtaBin1n1n1n1nPOI","<4'>_{n,n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s");
+ f4PerEtaBin1n1n1n1nPOI->SetXTitle("#eta");
+ //f4PerEtaBin1n1n1n1nPOI->SetYTitle("<4'>_{n,n|n,n}");
+ fHistList->Add(f4PerEtaBin1n1n1n1nPOI);
//common control histogram (2nd order)
fCommonHists2nd = new AliFlowCommonHist("AliFlowCommonHist2ndOrderQC");
void AliFlowAnalysisWithQCumulants::Make(AliFlowEventSimple* anEvent)
{
- //running over data
+ //running over data
//get the total multiplicity of event:
- Int_t nPrim = anEvent->NumberOfTracks();//line needed only for nested loops
- cout<<"nPrim = "<<nPrim<<endl;
+ //Int_t nPrim = anEvent->NumberOfTracks();//line needed only for nested loops
+ //cout<<"nPrim = "<<nPrim<<endl;
//if(nPrim>8&&nPrim<12)//line needed only for nested loops
//{ //line needed only for nested loops
//---------------------------------------------------------------------------------------------------------
//Q-vectors of an event evaluated in harmonics n, 2n, 3n and 4n:
- AliFlowVector xQvector1n, xQvector2n, xQvector3n, xQvector4n;
+ AliFlowVector afvQvector1n, afvQvector2n, afvQvector3n, afvQvector4n;
- xQvector1n.Set(0.,0.);
- xQvector1n.SetMult(0);
- xQvector1n=anEvent->GetQ(1*n);
+ afvQvector1n.Set(0.,0.);
+ afvQvector1n.SetMult(0);
+ afvQvector1n=anEvent->GetQ(1*n);
- xQvector2n.Set(0.,0.);
- xQvector2n.SetMult(0);
- xQvector2n=anEvent->GetQ(2*n);
+ afvQvector2n.Set(0.,0.);
+ afvQvector2n.SetMult(0);
+ afvQvector2n=anEvent->GetQ(2*n);
- xQvector3n.Set(0.,0.);
- xQvector3n.SetMult(0);
- xQvector3n=anEvent->GetQ(3*n);
+ afvQvector3n.Set(0.,0.);
+ afvQvector3n.SetMult(0);
+ afvQvector3n=anEvent->GetQ(3*n);
- xQvector4n.Set(0.,0.);
- xQvector4n.SetMult(0);
- xQvector4n=anEvent->GetQ(4*n);
+ afvQvector4n.Set(0.,0.);
+ afvQvector4n.SetMult(0);
+ afvQvector4n=anEvent->GetQ(4*n);
//---------------------------------------------------------------------------------------------------------
//multiplicity (to be improved, because I already have nEventNSelTracksIntFlow and nPrim)
- Double_t xMult = xQvector1n.GetMult();
+ Double_t dMult = afvQvector1n.GetMult();
- fAvMultIntFlowQC->Fill(0.,xMult,1.);
+ fAvMultIntFlowQC->Fill(0.,dMult,1.);
//---------------------------------------------------------------------------------------------------------
//
// **** Q-vectors ****
// *******************
//
- Double_t reQ2nQ1nstarQ1nstar = pow(xQvector1n.X(),2.)*xQvector2n.X()+2.*xQvector1n.X()*xQvector1n.Y()*xQvector2n.Y()-pow(xQvector1n.Y(),2.)*xQvector2n.X();//Re[Q_{2n} Q_{n}^* Q_{n}^*]
+ Double_t reQ2nQ1nstarQ1nstar = pow(afvQvector1n.X(),2.)*afvQvector2n.X()+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y()-pow(afvQvector1n.Y(),2.)*afvQvector2n.X();//Re[Q_{2n} Q_{n}^* Q_{n}^*]
//Double_t imQ2nQ1nstarQ1nstar = pow(Qvector1n.X(),2.)*Qvector2n.Y()-2.*Qvector1n.X()*Qvector1n.Y()*Qvector2n.X()-pow(Qvector1n.Y(),2.)*Qvector2n.Y();//Im[Q_{2n} Q_{n}^* Q_{n}^*]
Double_t reQ1nQ1nQ2nstar = reQ2nQ1nstarQ1nstar;//Re[Q_{n} Q_{n} Q_{2n}^*] = Re[Q_{2n} Q_{n}^* Q_{n}^*]
- Double_t reQ3nQ1nQ2nstarQ2nstar = (pow(xQvector2n.X(),2.)-pow(xQvector2n.Y(),2.))*(xQvector3n.X()*xQvector1n.X()-xQvector3n.Y()*xQvector1n.Y())+2.*xQvector2n.X()*xQvector2n.Y()*(xQvector3n.X()*xQvector1n.Y()+xQvector3n.Y()*xQvector1n.X());
+ Double_t reQ3nQ1nQ2nstarQ2nstar = (pow(afvQvector2n.X(),2.)-pow(afvQvector2n.Y(),2.))*(afvQvector3n.X()*afvQvector1n.X()-afvQvector3n.Y()*afvQvector1n.Y())+2.*afvQvector2n.X()*afvQvector2n.Y()*(afvQvector3n.X()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector1n.X());
//Double_t imQ3nQ1nQ2nstarQ2nstar = calculate and implement this (deleteMe)
Double_t reQ2nQ2nQ3nstarQ1nstar = reQ3nQ1nQ2nstarQ2nstar;
- Double_t reQ4nQ2nstarQ2nstar = pow(xQvector2n.X(),2.)*xQvector4n.X()+2.*xQvector2n.X()*xQvector2n.Y()*xQvector4n.Y()-pow(xQvector2n.Y(),2.)*xQvector4n.X();//Re[Q_{4n} Q_{2n}^* Q_{2n}^*]
+ Double_t reQ4nQ2nstarQ2nstar = pow(afvQvector2n.X(),2.)*afvQvector4n.X()+2.*afvQvector2n.X()*afvQvector2n.Y()*afvQvector4n.Y()-pow(afvQvector2n.Y(),2.)*afvQvector4n.X();//Re[Q_{4n} Q_{2n}^* Q_{2n}^*]
//Double_t imQ4nQ2nstarQ2nstar = calculate and implement this (deleteMe)
Double_t reQ2nQ2nQ4nstar = reQ4nQ2nstarQ2nstar;
- Double_t reQ4nQ3nstarQ1nstar = xQvector4n.X()*(xQvector3n.X()*xQvector1n.X()-xQvector3n.Y()*xQvector1n.Y())+xQvector4n.Y()*(xQvector3n.X()*xQvector1n.Y()+xQvector3n.Y()*xQvector1n.X());//Re[Q_{4n} Q_{3n}^* Q_{n}^*]
+ Double_t reQ4nQ3nstarQ1nstar = afvQvector4n.X()*(afvQvector3n.X()*afvQvector1n.X()-afvQvector3n.Y()*afvQvector1n.Y())+afvQvector4n.Y()*(afvQvector3n.X()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector1n.X());//Re[Q_{4n} Q_{3n}^* Q_{n}^*]
Double_t reQ3nQ1nQ4nstar = reQ4nQ3nstarQ1nstar;//Re[Q_{3n} Q_{n} Q_{4n}^*] = Re[Q_{4n} Q_{3n}^* Q_{n}^*]
//Double_t imQ4nQ3nstarQ1nstar = calculate and implement this (deleteMe)
- Double_t reQ3nQ2nstarQ1nstar = xQvector3n.X()*xQvector2n.X()*xQvector1n.X()-xQvector3n.X()*xQvector2n.Y()*xQvector1n.Y()+xQvector3n.Y()*xQvector2n.X()*xQvector1n.Y()+xQvector3n.Y()*xQvector2n.Y()*xQvector1n.X();//Re[Q_{3n} Q_{2n}^* Q_{n}^*]
+ Double_t reQ3nQ2nstarQ1nstar = afvQvector3n.X()*afvQvector2n.X()*afvQvector1n.X()-afvQvector3n.X()*afvQvector2n.Y()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector2n.X()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector2n.Y()*afvQvector1n.X();//Re[Q_{3n} Q_{2n}^* Q_{n}^*]
Double_t reQ2nQ1nQ3nstar = reQ3nQ2nstarQ1nstar;//Re[Q_{2n} Q_{n} Q_{3n}^*] = Re[Q_{3n} Q_{2n}^* Q_{n}^*]
//Double_t imQ3nQ2nstarQ1nstar; //calculate and implement this (deleteMe)
- Double_t reQ3nQ1nstarQ1nstarQ1nstar = xQvector3n.X()*pow(xQvector1n.X(),3)-3.*xQvector1n.X()*xQvector3n.X()*pow(xQvector1n.Y(),2)+3.*xQvector1n.Y()*xQvector3n.Y()*pow(xQvector1n.X(),2)-xQvector3n.Y()*pow(xQvector1n.Y(),3);//Re[Q_{3n} Q_{n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ3nQ1nstarQ1nstarQ1nstar = afvQvector3n.X()*pow(afvQvector1n.X(),3)-3.*afvQvector1n.X()*afvQvector3n.X()*pow(afvQvector1n.Y(),2)+3.*afvQvector1n.Y()*afvQvector3n.Y()*pow(afvQvector1n.X(),2)-afvQvector3n.Y()*pow(afvQvector1n.Y(),3);//Re[Q_{3n} Q_{n}^* Q_{n}^* Q_{n}^*]
//Double_t imQ3nQ1nstarQ1nstarQ1nstar; //calculate and implement this (deleteMe)
- Double_t xQ2nQ1nQ2nstarQ1nstar = pow(xQvector2n.Mod()*xQvector1n.Mod(),2);//|Q_{2n}|^2 |Q_{n}|^2
- Double_t reQ4nQ2nstarQ1nstarQ1nstar = (xQvector4n.X()*xQvector2n.X()+xQvector4n.Y()*xQvector2n.Y())*(pow(xQvector1n.X(),2)-pow(xQvector1n.Y(),2))+2.*xQvector1n.X()*xQvector1n.Y()*(xQvector4n.Y()*xQvector2n.X()-xQvector4n.X()*xQvector2n.Y());//Re[Q_{4n} Q_{2n}^* Q_{n}^* Q_{n}^*]
+ Double_t xQ2nQ1nQ2nstarQ1nstar = pow(afvQvector2n.Mod()*afvQvector1n.Mod(),2);//|Q_{2n}|^2 |Q_{n}|^2
+ Double_t reQ4nQ2nstarQ1nstarQ1nstar = (afvQvector4n.X()*afvQvector2n.X()+afvQvector4n.Y()*afvQvector2n.Y())*(pow(afvQvector1n.X(),2)-pow(afvQvector1n.Y(),2))+2.*afvQvector1n.X()*afvQvector1n.Y()*(afvQvector4n.Y()*afvQvector2n.X()-afvQvector4n.X()*afvQvector2n.Y());//Re[Q_{4n} Q_{2n}^* Q_{n}^* Q_{n}^*]
//Double_t imQ4nQ2nstarQ1nstarQ1nstar; //calculate and implement this (deleteMe)
- Double_t reQ2nQ1nQ1nstarQ1nstarQ1nstar = (xQvector2n.X()*xQvector1n.X()-xQvector2n.Y()*xQvector1n.Y())*(pow(xQvector1n.X(),3)-3.*xQvector1n.X()*pow(xQvector1n.Y(),2))+(xQvector2n.X()*xQvector1n.Y()+xQvector1n.X()*xQvector2n.Y())*(3.*xQvector1n.Y()*pow(xQvector1n.X(),2)-pow(xQvector1n.Y(),3));//Re[Q_{2n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ2nQ1nQ1nstarQ1nstarQ1nstar = (afvQvector2n.X()*afvQvector1n.X()-afvQvector2n.Y()*afvQvector1n.Y())*(pow(afvQvector1n.X(),3)-3.*afvQvector1n.X()*pow(afvQvector1n.Y(),2))+(afvQvector2n.X()*afvQvector1n.Y()+afvQvector1n.X()*afvQvector2n.Y())*(3.*afvQvector1n.Y()*pow(afvQvector1n.X(),2)-pow(afvQvector1n.Y(),3));//Re[Q_{2n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^*]
//Double_t imQ2nQ1nQ1nstarQ1nstarQ1nstar; //calculate and implement this (deleteMe)
- Double_t reQ2nQ2nQ2nstarQ1nstarQ1nstar = pow(xQvector2n.Mod(),2.)*(xQvector2n.X()*(pow(xQvector1n.X(),2.)-pow(xQvector1n.Y(),2.))+2.*xQvector2n.Y()*xQvector1n.X()*xQvector1n.Y());//Re[Q_{2n} Q_{2n} Q_{2n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ2nQ2nQ2nstarQ1nstarQ1nstar = pow(afvQvector2n.Mod(),2.)*(afvQvector2n.X()*(pow(afvQvector1n.X(),2.)-pow(afvQvector1n.Y(),2.))+2.*afvQvector2n.Y()*afvQvector1n.X()*afvQvector1n.Y());//Re[Q_{2n} Q_{2n} Q_{2n}^* Q_{n}^* Q_{n}^*]
//Double_t imQ2nQ2nQ2nstarQ1nstarQ1nstar = pow(Qvector2n.Mod(),2.)*(Qvector2n.Y()*(pow(Qvector1n.X(),2.)-pow(Qvector1n.Y(),2.))-2.*Qvector2n.X()*Qvector1n.X()*Qvector1n.Y());//Im[Q_{2n} Q_{2n} Q_{2n}^* Q_{n}^* Q_{n}^*]
- Double_t reQ4nQ1nstarQ1nstarQ1nstarQ1nstar = pow(xQvector1n.X(),4.)*xQvector4n.X()-6.*pow(xQvector1n.X(),2.)*xQvector4n.X()*pow(xQvector1n.Y(),2.)+pow(xQvector1n.Y(),4.)*xQvector4n.X()+4.*pow(xQvector1n.X(),3.)*xQvector1n.Y()*xQvector4n.Y()-4.*pow(xQvector1n.Y(),3.)*xQvector1n.X()*xQvector4n.Y();//Re[Q_{4n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ4nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.X(),4.)*afvQvector4n.X()-6.*pow(afvQvector1n.X(),2.)*afvQvector4n.X()*pow(afvQvector1n.Y(),2.)+pow(afvQvector1n.Y(),4.)*afvQvector4n.X()+4.*pow(afvQvector1n.X(),3.)*afvQvector1n.Y()*afvQvector4n.Y()-4.*pow(afvQvector1n.Y(),3.)*afvQvector1n.X()*afvQvector4n.Y();//Re[Q_{4n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
//Double_t imQ4nQ1nstarQ1nstarQ1nstarQ1nstar = pow(Qvector1n.X(),4.)*Qvector4n.Y()-6.*pow(Qvector1n.X(),2.)*Qvector4n.Y()*pow(Qvector1n.Y(),2.)+pow(Qvector1n.Y(),4.)*Qvector4n.Y()+4.*pow(Qvector1n.Y(),3.)*Qvector1n.X()*Qvector4n.X()-4.*pow(Qvector1n.X(),3.)*Qvector1n.Y()*Qvector4n.X();//Im[Q_{4n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
- Double_t reQ3nQ1nQ2nstarQ1nstarQ1nstar = pow(xQvector1n.Mod(),2.)*(xQvector1n.X()*xQvector2n.X()*xQvector3n.X()-xQvector3n.X()*xQvector1n.Y()*xQvector2n.Y()+xQvector2n.X()*xQvector1n.Y()*xQvector3n.Y()+xQvector1n.X()*xQvector2n.Y()*xQvector3n.Y());//Re[Q_{3n} Q_{n} Q_{2n}^* Q_{n}^* Q_{n}^*]
- //Double_t imQ3nQ1nQ2nstarQ1nstarQ1nstar = pow(xQvector1n.Mod(),2.)*(-xQvector2n.X()*xQvector3n.X()*xQvector1n.Y()-xQvector1n.X()*xQvector3n.X()*xQvector2n.Y()+xQvector1n.X()*xQvector2n.X()*xQvector3n.Y()-xQvector1n.Y()*xQvector2n.Y()*xQvector3n.Y());//Im[Q_{3n} Q_{n} Q_{2n}^* Q_{n}^* Q_{n}^*]
- Double_t reQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar = (pow(xQvector1n.X(),2.)*xQvector2n.X()-2.*xQvector1n.X()*xQvector2n.X()*xQvector1n.Y()-xQvector2n.X()*pow(xQvector1n.Y(),2.)+xQvector2n.Y()*pow(xQvector1n.X(),2.)+2.*xQvector1n.X()*xQvector1n.Y()*xQvector2n.Y()-pow(xQvector1n.Y(),2.)*xQvector2n.Y())*(pow(xQvector1n.X(),2.)*xQvector2n.X()+2.*xQvector1n.X()*xQvector2n.X()*xQvector1n.Y()-xQvector2n.X()*pow(xQvector1n.Y(),2.)-xQvector2n.Y()*pow(xQvector1n.X(),2.)+2.*xQvector1n.X()*xQvector1n.Y()*xQvector2n.Y()+pow(xQvector1n.Y(),2.)*xQvector2n.Y());//Re[Q_{2n} Q_{2n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
- //Double_t imQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar = 2.*(pow(xQvector1n.X(),2.)*xQvector2n.X()-xQvector2n.X()*pow(xQvector1n.Y(),2.)+2.*xQvector1n.X()*xQvector1n.Y()*xQvector2n.Y())*(pow(xQvector1n.X(),2.)*xQvector2n.Y()-2.*xQvector1n.X()*xQvector1n.Y()*xQvector2n.X()-pow(xQvector1n.Y(),2.)*xQvector2n.Y());//Im[Q_{2n} Q_{2n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
- Double_t reQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(xQvector1n.Mod(),2.)*(pow(xQvector1n.X(),3.)*xQvector3n.X()-3.*xQvector1n.X()*xQvector3n.X()*pow(xQvector1n.Y(),2.)+3.*pow(xQvector1n.X(),2.)*xQvector1n.Y()*xQvector3n.Y()-pow(xQvector1n.Y(),3.)*xQvector3n.Y());//Re[Q_{3n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
- //Double_t imQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(xQvector1n.Mod(),2.)*(pow(xQvector1n.Y(),3.)*xQvector3n.X()-3.*xQvector1n.Y()*xQvector3n.X()*pow(xQvector1n.X(),2.)-3.*pow(xQvector1n.Y(),2.)*xQvector1n.X()*xQvector3n.Y()+pow(xQvector1n.X(),3.)*xQvector3n.Y());//Im[Q_{3n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
- Double_t xQ2nQ1nQ1nQ2nstarQ1nstarQ1nstar = pow(xQvector2n.Mod(),2.)*pow(xQvector1n.Mod(),4.);//|Q_{2n}|^2 |Q_{n}|^4
- Double_t reQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(xQvector1n.Mod(),4.)*(pow(xQvector1n.X(),2.)*xQvector2n.X()-xQvector2n.X()*pow(xQvector1n.Y(),2.)+2.*xQvector1n.X()*xQvector1n.Y()*xQvector2n.Y());//Re[Q_{2n} Q_{n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
- //Double_t imQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(xQvector1n.Mod(),4.)*(pow(xQvector1n.X(),2.)*xQvector2n.Y()-xQvector2n.Y()*pow(xQvector1n.Y(),2.)-2.*xQvector1n.X()*xQvector2n.X()*xQvector1n.Y());//Re[Q_{2n} Q_{n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ3nQ1nQ2nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(afvQvector1n.X()*afvQvector2n.X()*afvQvector3n.X()-afvQvector3n.X()*afvQvector1n.Y()*afvQvector2n.Y()+afvQvector2n.X()*afvQvector1n.Y()*afvQvector3n.Y()+afvQvector1n.X()*afvQvector2n.Y()*afvQvector3n.Y());//Re[Q_{3n} Q_{n} Q_{2n}^* Q_{n}^* Q_{n}^*]
+ //Double_t imQ3nQ1nQ2nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(-afvQvector2n.X()*afvQvector3n.X()*afvQvector1n.Y()-afvQvector1n.X()*afvQvector3n.X()*afvQvector2n.Y()+afvQvector1n.X()*afvQvector2n.X()*afvQvector3n.Y()-afvQvector1n.Y()*afvQvector2n.Y()*afvQvector3n.Y());//Im[Q_{3n} Q_{n} Q_{2n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar = (pow(afvQvector1n.X(),2.)*afvQvector2n.X()-2.*afvQvector1n.X()*afvQvector2n.X()*afvQvector1n.Y()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)+afvQvector2n.Y()*pow(afvQvector1n.X(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y()-pow(afvQvector1n.Y(),2.)*afvQvector2n.Y())*(pow(afvQvector1n.X(),2.)*afvQvector2n.X()+2.*afvQvector1n.X()*afvQvector2n.X()*afvQvector1n.Y()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)-afvQvector2n.Y()*pow(afvQvector1n.X(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y()+pow(afvQvector1n.Y(),2.)*afvQvector2n.Y());//Re[Q_{2n} Q_{2n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ //Double_t imQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar = 2.*(pow(afvQvector1n.X(),2.)*afvQvector2n.X()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y())*(pow(afvQvector1n.X(),2.)*afvQvector2n.Y()-2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.X()-pow(afvQvector1n.Y(),2.)*afvQvector2n.Y());//Im[Q_{2n} Q_{2n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ Double_t reQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(pow(afvQvector1n.X(),3.)*afvQvector3n.X()-3.*afvQvector1n.X()*afvQvector3n.X()*pow(afvQvector1n.Y(),2.)+3.*pow(afvQvector1n.X(),2.)*afvQvector1n.Y()*afvQvector3n.Y()-pow(afvQvector1n.Y(),3.)*afvQvector3n.Y());//Re[Q_{3n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ //Double_t imQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(pow(afvQvector1n.Y(),3.)*afvQvector3n.X()-3.*afvQvector1n.Y()*afvQvector3n.X()*pow(afvQvector1n.X(),2.)-3.*pow(afvQvector1n.Y(),2.)*afvQvector1n.X()*afvQvector3n.Y()+pow(afvQvector1n.X(),3.)*afvQvector3n.Y());//Im[Q_{3n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ Double_t xQ2nQ1nQ1nQ2nstarQ1nstarQ1nstar = pow(afvQvector2n.Mod(),2.)*pow(afvQvector1n.Mod(),4.);//|Q_{2n}|^2 |Q_{n}|^4
+ Double_t reQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),4.)*(pow(afvQvector1n.X(),2.)*afvQvector2n.X()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y());//Re[Q_{2n} Q_{n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
+ //Double_t imQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),4.)*(pow(afvQvector1n.X(),2.)*afvQvector2n.Y()-afvQvector2n.Y()*pow(afvQvector1n.Y(),2.)-2.*afvQvector1n.X()*afvQvector2n.X()*afvQvector1n.Y());//Re[Q_{2n} Q_{n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*]
//---------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------
//2-particle
Double_t two1n1n=0., two2n2n=0., two3n3n=0., two4n4n=0.;
- if(xMult>1)
+ if(dMult>1)
{
//fill the common control histogram (2nd order):
fCommonHists2nd->FillControlHistograms(anEvent);
- two1n1n = (pow(xQvector1n.Mod(),2.)-xMult)/(xMult*(xMult-1.)); //<2>_{n|n} = <cos(n*(phi1-phi2))>
- two2n2n = (pow(xQvector2n.Mod(),2.)-xMult)/(xMult*(xMult-1.)); //<2>_{2n|2n} = <cos(2n*(phi1-phi2))>
- two3n3n = (pow(xQvector3n.Mod(),2.)-xMult)/(xMult*(xMult-1.)); //<2>_{3n|3n} = <cos(3n*(phi1-phi2))>
- two4n4n = (pow(xQvector4n.Mod(),2.)-xMult)/(xMult*(xMult-1.)); //<2>_{4n|4n} = <cos(4n*(phi1-phi2))>
+ two1n1n = (pow(afvQvector1n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); //<2>_{n|n} = <cos(n*(phi1-phi2))>
+ two2n2n = (pow(afvQvector2n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); //<2>_{2n|2n} = <cos(2n*(phi1-phi2))>
+ two3n3n = (pow(afvQvector3n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); //<2>_{3n|3n} = <cos(3n*(phi1-phi2))>
+ two4n4n = (pow(afvQvector4n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); //<2>_{4n|4n} = <cos(4n*(phi1-phi2))>
- fQCorrelations->Fill(0.,two1n1n,xMult*(xMult-1.));
- fQCorrelations->Fill(1.,two2n2n,xMult*(xMult-1.));
- fQCorrelations->Fill(2.,two3n3n,xMult*(xMult-1.));
- fQCorrelations->Fill(3.,two4n4n,xMult*(xMult-1.));
+ fQCorrelations->Fill(0.,two1n1n,dMult*(dMult-1.));
+ fQCorrelations->Fill(1.,two2n2n,dMult*(dMult-1.));
+ fQCorrelations->Fill(2.,two3n3n,dMult*(dMult-1.));
+ fQCorrelations->Fill(3.,two4n4n,dMult*(dMult-1.));
- f2pDistribution->Fill(two1n1n,xMult*(xMult-1.));
+ f2pDistribution->Fill(two1n1n,dMult*(dMult-1.));
}
//3-particle
Double_t three2n1n1n=0., three3n2n1n=0., three4n2n2n=0., three4n3n1n=0.;
- if(xMult>2)
+ if(dMult>2)
{
- three2n1n1n = (reQ2nQ1nstarQ1nstar-2.*pow(xQvector1n.Mod(),2.)-pow(xQvector2n.Mod(),2.)+2.*xMult)/(xMult*(xMult-1.)*(xMult-2.)); //Re[<3>_{2n|n,n}] = Re[<3>_{n,n|2n}] = <cos(n*(2.*phi1-phi2-phi3))>
- three3n2n1n = (reQ3nQ2nstarQ1nstar-pow(xQvector3n.Mod(),2.)-pow(xQvector2n.Mod(),2.)-pow(xQvector1n.Mod(),2.)+2.*xMult)/(xMult*(xMult-1.)*(xMult-2.)); //Re[<3>_{3n|2n,n}] = Re[<3>_{2n,n|3n}] = <cos(n*(3.*phi1-2.*phi2-phi3))>
- three4n2n2n = (reQ4nQ2nstarQ2nstar-2.*pow(xQvector2n.Mod(),2.)-pow(xQvector4n.Mod(),2.)+2.*xMult)/(xMult*(xMult-1.)*(xMult-2.)); //Re[<3>_{4n|2n,2n}] = Re[<3>_{2n,2n|4n}] = <cos(n*(4.*phi1-2.*phi2-2.*phi3))>
- three4n3n1n = (reQ4nQ3nstarQ1nstar-pow(xQvector4n.Mod(),2.)-pow(xQvector3n.Mod(),2.)-pow(xQvector1n.Mod(),2.)+2.*xMult)/(xMult*(xMult-1.)*(xMult-2.)); //Re[<3>_{4n|3n,n}] = Re[<3>_{3n,n|4n}] = <cos(n*(4.*phi1-3.*phi2-phi3))>
-
- fQCorrelations->Fill(5.,three2n1n1n,xMult*(xMult-1.)*(xMult-2.));
- fQCorrelations->Fill(6.,three3n2n1n,xMult*(xMult-1.)*(xMult-2.));
- fQCorrelations->Fill(7.,three4n2n2n,xMult*(xMult-1.)*(xMult-2.));
- fQCorrelations->Fill(8.,three4n3n1n,xMult*(xMult-1.)*(xMult-2.));
+ three2n1n1n = (reQ2nQ1nstarQ1nstar-2.*pow(afvQvector1n.Mod(),2.)-pow(afvQvector2n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{2n|n,n}] = Re[<3>_{n,n|2n}] = <cos(n*(2.*phi1-phi2-phi3))>
+ three3n2n1n = (reQ3nQ2nstarQ1nstar-pow(afvQvector3n.Mod(),2.)-pow(afvQvector2n.Mod(),2.)-pow(afvQvector1n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{3n|2n,n}] = Re[<3>_{2n,n|3n}] = <cos(n*(3.*phi1-2.*phi2-phi3))>
+ three4n2n2n = (reQ4nQ2nstarQ2nstar-2.*pow(afvQvector2n.Mod(),2.)-pow(afvQvector4n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{4n|2n,2n}] = Re[<3>_{2n,2n|4n}] = <cos(n*(4.*phi1-2.*phi2-2.*phi3))>
+ three4n3n1n = (reQ4nQ3nstarQ1nstar-pow(afvQvector4n.Mod(),2.)-pow(afvQvector3n.Mod(),2.)-pow(afvQvector1n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{4n|3n,n}] = Re[<3>_{3n,n|4n}] = <cos(n*(4.*phi1-3.*phi2-phi3))>
+
+ fQCorrelations->Fill(5.,three2n1n1n,dMult*(dMult-1.)*(dMult-2.));
+ fQCorrelations->Fill(6.,three3n2n1n,dMult*(dMult-1.)*(dMult-2.));
+ fQCorrelations->Fill(7.,three4n2n2n,dMult*(dMult-1.)*(dMult-2.));
+ fQCorrelations->Fill(8.,three4n3n1n,dMult*(dMult-1.)*(dMult-2.));
}
//4-particle
Double_t four1n1n1n1n=0., four2n2n2n2n=0., four2n1n2n1n=0., four3n1n1n1n=0., four4n2n1n1n=0., four3n1n2n2n=0., four3n1n3n1n=0.;
- if(xMult>3)
+ if(dMult>3)
{
//fill the common control histogram (4th order):
fCommonHists4th->FillControlHistograms(anEvent);
- four1n1n1n1n = (2.*xMult*(xMult-3.)+pow(xQvector1n.Mod(),4.)-4.*(xMult-2.)*pow(xQvector1n.Mod(),2.)-2.*reQ2nQ1nstarQ1nstar+pow(xQvector2n.Mod(),2.))/(xMult*(xMult-1)*(xMult-2.)*(xMult-3.));//<4>_{n,n|n,n}
- four2n2n2n2n = (2.*xMult*(xMult-3.)+pow(xQvector2n.Mod(),4.)-4.*(xMult-2.)*pow(xQvector2n.Mod(),2.)-2.*reQ4nQ2nstarQ2nstar+pow(xQvector4n.Mod(),2.))/(xMult*(xMult-1)*(xMult-2.)*(xMult-3.));//<4>_{2n,2n|2n,2n}
- four2n1n2n1n = (xQ2nQ1nQ2nstarQ1nstar-2.*reQ3nQ2nstarQ1nstar-2.*reQ2nQ1nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))-((xMult-5.)*pow(xQvector1n.Mod(),2.)+(xMult-4.)*pow(xQvector2n.Mod(),2.)-pow(xQvector3n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))+(xMult-6.)/((xMult-1.)*(xMult-2.)*(xMult-3.));//Re[<4>_{2n,n|2n,n}]
- four3n1n1n1n = (reQ3nQ1nstarQ1nstarQ1nstar-3.*reQ3nQ2nstarQ1nstar-3.*reQ2nQ1nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))+(2.*pow(xQvector3n.Mod(),2.)+3.*pow(xQvector2n.Mod(),2.)+6.*pow(xQvector1n.Mod(),2.)-6.*xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));//Re[<4>_{3n|n,n,n}]
- four4n2n1n1n = (reQ4nQ2nstarQ1nstarQ1nstar-2.*reQ4nQ3nstarQ1nstar-reQ4nQ2nstarQ2nstar-2.*reQ3nQ2nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))-(reQ2nQ1nstarQ1nstar-2.*pow(xQvector4n.Mod(),2.)-2.*pow(xQvector3n.Mod(),2.)-3.*pow(xQvector2n.Mod(),2.)-4.*pow(xQvector1n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))-(6.)/((xMult-1.)*(xMult-2.)*(xMult-3.));//Re[<4>_{4n|2n,n,n}]
- four3n1n2n2n = (reQ3nQ1nQ2nstarQ2nstar-reQ4nQ2nstarQ2nstar-reQ3nQ1nQ4nstar-2.*reQ3nQ2nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))-(2.*reQ1nQ1nQ2nstar-pow(xQvector4n.Mod(),2.)-2.*pow(xQvector3n.Mod(),2.)-4.*pow(xQvector2n.Mod(),2.)-4.*pow(xQvector1n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))-(6.)/((xMult-1.)*(xMult-2.)*(xMult-3.));//Re[<4>_{3n,n|2n,2n}]
- four3n1n3n1n = (pow(xQvector3n.Mod(),2.)*pow(xQvector1n.Mod(),2.)-2.*reQ4nQ3nstarQ1nstar-2.*reQ3nQ2nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))+(pow(xQvector4n.Mod(),2.)-(xMult-4.)*pow(xQvector3n.Mod(),2.)+pow(xQvector2n.Mod(),2.)-(xMult-4.)*pow(xQvector1n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.))+(xMult-6.)/((xMult-1.)*(xMult-2.)*(xMult-3.));//<4>_{3n,n|3n,n}
+ four1n1n1n1n = (2.*dMult*(dMult-3.)+pow(afvQvector1n.Mod(),4.)-4.*(dMult-2.)*pow(afvQvector1n.Mod(),2.)-2.*reQ2nQ1nstarQ1nstar+pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2.)*(dMult-3.));//<4>_{n,n|n,n}
+ four2n2n2n2n = (2.*dMult*(dMult-3.)+pow(afvQvector2n.Mod(),4.)-4.*(dMult-2.)*pow(afvQvector2n.Mod(),2.)-2.*reQ4nQ2nstarQ2nstar+pow(afvQvector4n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2.)*(dMult-3.));//<4>_{2n,2n|2n,2n}
+ four2n1n2n1n = (xQ2nQ1nQ2nstarQ1nstar-2.*reQ3nQ2nstarQ1nstar-2.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-((dMult-5.)*pow(afvQvector1n.Mod(),2.)+(dMult-4.)*pow(afvQvector2n.Mod(),2.)-pow(afvQvector3n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(dMult-6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{2n,n|2n,n}]
+ four3n1n1n1n = (reQ3nQ1nstarQ1nstarQ1nstar-3.*reQ3nQ2nstarQ1nstar-3.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(2.*pow(afvQvector3n.Mod(),2.)+3.*pow(afvQvector2n.Mod(),2.)+6.*pow(afvQvector1n.Mod(),2.)-6.*dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{3n|n,n,n}]
+ four4n2n1n1n = (reQ4nQ2nstarQ1nstarQ1nstar-2.*reQ4nQ3nstarQ1nstar-reQ4nQ2nstarQ2nstar-2.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(reQ2nQ1nstarQ1nstar-2.*pow(afvQvector4n.Mod(),2.)-2.*pow(afvQvector3n.Mod(),2.)-3.*pow(afvQvector2n.Mod(),2.)-4.*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{4n|2n,n,n}]
+ four3n1n2n2n = (reQ3nQ1nQ2nstarQ2nstar-reQ4nQ2nstarQ2nstar-reQ3nQ1nQ4nstar-2.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(2.*reQ1nQ1nQ2nstar-pow(afvQvector4n.Mod(),2.)-2.*pow(afvQvector3n.Mod(),2.)-4.*pow(afvQvector2n.Mod(),2.)-4.*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{3n,n|2n,2n}]
+ four3n1n3n1n = (pow(afvQvector3n.Mod(),2.)*pow(afvQvector1n.Mod(),2.)-2.*reQ4nQ3nstarQ1nstar-2.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(pow(afvQvector4n.Mod(),2.)-(dMult-4.)*pow(afvQvector3n.Mod(),2.)+pow(afvQvector2n.Mod(),2.)-(dMult-4.)*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(dMult-6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//<4>_{3n,n|3n,n}
//four_3n1n3n1n = Q3nQ1nQ3nstarQ1nstar/(M*(M-1.)*(M-2.)*(M-3.))-(2.*three_3n2n1n+2.*three_4n3n1n)/(M-3.)-(two_4n4n+M*two_3n3n+two_2n2n+M*two_1n1n)/((M-2.)*(M-3.))-M/((M-1.)*(M-2.)*(M-3.));//<4>_{3n,n|3n,n}
- fQCorrelations->Fill(10.,four1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
- fQCorrelations->Fill(11.,four2n1n2n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
- fQCorrelations->Fill(12.,four2n2n2n2n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
- fQCorrelations->Fill(13.,four3n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
- fQCorrelations->Fill(14.,four3n1n3n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
- fQCorrelations->Fill(15.,four3n1n2n2n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
- fQCorrelations->Fill(16.,four4n2n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
+ fQCorrelations->Fill(10.,four1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ fQCorrelations->Fill(11.,four2n1n2n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ fQCorrelations->Fill(12.,four2n2n2n2n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ fQCorrelations->Fill(13.,four3n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ fQCorrelations->Fill(14.,four3n1n3n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ fQCorrelations->Fill(15.,four3n1n2n2n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ fQCorrelations->Fill(16.,four4n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
- f4pDistribution->Fill(four1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
+ f4pDistribution->Fill(four1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
- fQProduct->Fill(0.,two1n1n*four1n1n1n1n,xMult*(xMult-1.)*xMult*(xMult-1.)*(xMult-2.)*(xMult-3.));
+ fQProduct->Fill(0.,two1n1n*four1n1n1n1n,dMult*(dMult-1.)*dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));
}
//5-particle
Double_t five2n1n1n1n1n=0., five2n2n2n1n1n=0., five3n1n2n1n1n=0., five4n1n1n1n1n=0.;
- if(xMult>4)
+ if(dMult>4)
{
- five2n1n1n1n1n = (reQ2nQ1nQ1nstarQ1nstarQ1nstar-reQ3nQ1nstarQ1nstarQ1nstar+6.*reQ3nQ2nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(reQ2nQ1nQ3nstar+3.*(xMult-6.)*reQ2nQ1nstarQ1nstar+3.*reQ1nQ1nQ2nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(2.*pow(xQvector3n.Mod(),2.)+3.*pow(xQvector2n.Mod()*xQvector1n.Mod(),2.)-3.*(xMult-4.)*pow(xQvector2n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-3.*(pow(xQvector1n.Mod(),4.)-2.*(2*xMult-5.)*pow(xQvector1n.Mod(),2.)+2.*xMult*(xMult-4.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));//Re[<5>_{2n,n|n,n,n}]
+ five2n1n1n1n1n = (reQ2nQ1nQ1nstarQ1nstarQ1nstar-reQ3nQ1nstarQ1nstarQ1nstar+6.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(reQ2nQ1nQ3nstar+3.*(dMult-6.)*reQ2nQ1nstarQ1nstar+3.*reQ1nQ1nQ2nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(2.*pow(afvQvector3n.Mod(),2.)+3.*pow(afvQvector2n.Mod()*afvQvector1n.Mod(),2.)-3.*(dMult-4.)*pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-3.*(pow(afvQvector1n.Mod(),4.)-2.*(2*dMult-5.)*pow(afvQvector1n.Mod(),2.)+2.*dMult*(dMult-4.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{2n,n|n,n,n}]
- five2n2n2n1n1n = (reQ2nQ2nQ2nstarQ1nstarQ1nstar-reQ4nQ2nstarQ1nstarQ1nstar-2.*reQ2nQ2nQ3nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))+2.*(reQ4nQ2nstarQ2nstar+4.*reQ3nQ2nstarQ1nstar+reQ3nQ1nQ4nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))+(reQ2nQ2nQ4nstar-2.*(xMult-5.)*reQ2nQ1nstarQ1nstar+2.*reQ1nQ1nQ2nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(2.*pow(xQvector4n.Mod(),2.)+4.*pow(xQvector3n.Mod(),2.)+1.*pow(xQvector2n.Mod(),4.)-2.*(3.*xMult-10.)*pow(xQvector2n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(4.*pow(xQvector1n.Mod(),2.)*pow(xQvector2n.Mod(),2.)-4.*(xMult-5.)*pow(xQvector1n.Mod(),2.)+4.*xMult*(xMult-6.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));//Re[<5>_{2n,2n|2n,n,n}]
+ five2n2n2n1n1n = (reQ2nQ2nQ2nstarQ1nstarQ1nstar-reQ4nQ2nstarQ1nstarQ1nstar-2.*reQ2nQ2nQ3nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+2.*(reQ4nQ2nstarQ2nstar+4.*reQ3nQ2nstarQ1nstar+reQ3nQ1nQ4nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+(reQ2nQ2nQ4nstar-2.*(dMult-5.)*reQ2nQ1nstarQ1nstar+2.*reQ1nQ1nQ2nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(2.*pow(afvQvector4n.Mod(),2.)+4.*pow(afvQvector3n.Mod(),2.)+1.*pow(afvQvector2n.Mod(),4.)-2.*(3.*dMult-10.)*pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(4.*pow(afvQvector1n.Mod(),2.)*pow(afvQvector2n.Mod(),2.)-4.*(dMult-5.)*pow(afvQvector1n.Mod(),2.)+4.*dMult*(dMult-6.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{2n,2n|2n,n,n}]
//five_2n2n2n1n1n = reQ2nQ2nQ2nstarQ1nstarQ1nstar/(M*(M-1.)*(M-2.)*(M-3.)*(M-4.))-(4.*four_2n1n2n1n+2.*four_3n1n2n2n+1.*four_2n2n2n2n+four_4n2n1n1n)/(M-4.)-(2.*three_4n3n1n+three_4n2n2n+three_4n2n2n+2.*three_3n2n1n)/((M-3.)*(M-4.))-(4.*three_3n2n1n+(2.*M-1.)*three_2n1n1n+2.*three_2n1n1n)/((M-3.)*(M-4.))-(two_4n4n+2.*two_3n3n+4.*(M-1.)*two_2n2n+2.*(2.*M-1.)*two_1n1n)/((M-2.)*(M-3.)*(M-4.))-(2.*M-1.)/((M-1.)*(M-2.)*(M-3.)*(M-4.)); //OK!
- five4n1n1n1n1n = (reQ4nQ1nstarQ1nstarQ1nstarQ1nstar-6.*reQ4nQ2nstarQ1nstarQ1nstar-4.*reQ3nQ1nstarQ1nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))+(8.*reQ4nQ3nstarQ1nstar+3.*reQ4nQ2nstarQ2nstar+12.*reQ3nQ2nstarQ1nstar+12.*reQ2nQ1nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(6.*pow(xQvector4n.Mod(),2.)+8.*pow(xQvector3n.Mod(),2.)+12.*pow(xQvector2n.Mod(),2.)+24.*pow(xQvector1n.Mod(),2.)-24.*xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));//Re[<5>_{4n|n,n,n,n}]
+ five4n1n1n1n1n = (reQ4nQ1nstarQ1nstarQ1nstarQ1nstar-6.*reQ4nQ2nstarQ1nstarQ1nstar-4.*reQ3nQ1nstarQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+(8.*reQ4nQ3nstarQ1nstar+3.*reQ4nQ2nstarQ2nstar+12.*reQ3nQ2nstarQ1nstar+12.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(6.*pow(afvQvector4n.Mod(),2.)+8.*pow(afvQvector3n.Mod(),2.)+12.*pow(afvQvector2n.Mod(),2.)+24.*pow(afvQvector1n.Mod(),2.)-24.*dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{4n|n,n,n,n}]
//five_4n1n1n1n1n = reQ4nQ1nstarQ1nstarQ1nstarQ1nstar/(M*(M-1.)*(M-2.)*(M-3.)*(M-4.)) - (4.*four_3n1n1n1n+6.*four_4n2n1n1n)/(M-4.) - (6.*three_2n1n1n + 12.*three_3n2n1n + 4.*three_4n3n1n + 3.*three_4n2n2n)/((M-3.)*(M-4.)) - (4.*two_1n1n + 6.*two_2n2n + 4.*two_3n3n + 1.*two_4n4n)/((M-2.)*(M-3.)*(M-4.)) - 1./((M-1.)*(M-2.)*(M-3.)*(M-4.)); //OK!
- five3n1n2n1n1n = (reQ3nQ1nQ2nstarQ1nstarQ1nstar-reQ4nQ2nstarQ1nstarQ1nstar-reQ3nQ1nstarQ1nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(reQ3nQ1nQ2nstarQ2nstar-3.*reQ4nQ3nstarQ1nstar-reQ4nQ2nstarQ2nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-((2.*xMult-13.)*reQ3nQ2nstarQ1nstar-reQ3nQ1nQ4nstar-9.*reQ2nQ1nstarQ1nstar)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-(2.*reQ1nQ1nQ2nstar+2.*pow(xQvector4n.Mod(),2.)-2.*(xMult-5.)*pow(xQvector3n.Mod(),2.)+2.*pow(xQvector3n.Mod(),2.)*pow(xQvector1n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))+(2.*(xMult-6.)*pow(xQvector2n.Mod(),2.)-2.*pow(xQvector2n.Mod(),2.)*pow(xQvector1n.Mod(),2.)-pow(xQvector1n.Mod(),4.)+2.*(3.*xMult-11.)*pow(xQvector1n.Mod(),2.))/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.))-4.*(xMult-6.)/((xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));//Re[<5>_{3n,n|2n,n,n}]
+ five3n1n2n1n1n = (reQ3nQ1nQ2nstarQ1nstarQ1nstar-reQ4nQ2nstarQ1nstarQ1nstar-reQ3nQ1nstarQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(reQ3nQ1nQ2nstarQ2nstar-3.*reQ4nQ3nstarQ1nstar-reQ4nQ2nstarQ2nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-((2.*dMult-13.)*reQ3nQ2nstarQ1nstar-reQ3nQ1nQ4nstar-9.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(2.*reQ1nQ1nQ2nstar+2.*pow(afvQvector4n.Mod(),2.)-2.*(dMult-5.)*pow(afvQvector3n.Mod(),2.)+2.*pow(afvQvector3n.Mod(),2.)*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+(2.*(dMult-6.)*pow(afvQvector2n.Mod(),2.)-2.*pow(afvQvector2n.Mod(),2.)*pow(afvQvector1n.Mod(),2.)-pow(afvQvector1n.Mod(),4.)+2.*(3.*dMult-11.)*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-4.*(dMult-6.)/((dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{3n,n|2n,n,n}]
- //five3n1n2n1n1n = reQ3nQ1nQ2nstarQ1nstarQ1nstar/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)) - (four4n2n1n1n+four1n1n1n1n+four3n1n1n1n+2.*four2n1n2n1n+2.*three3n2n1n+2.*four3n1n3n1n+four3n1n2n2n)/(xMult-4.) - (2.*three4n3n1n+three4n2n2n+6.*three3n2n1n+three4n3n1n+2.*three3n2n1n+3.*three2n1n1n+2.*three2n1n1n+4.*two1n1n+2.*two2n2n+2.*two3n3n)/((xMult-3.)*(xMult-4.)) - (5.*two1n1n + 4.*two2n2n + 3.*two3n3n + 1.*two4n4n + 2.)/((xMult-2.)*(xMult-3.)*(xMult-4.)) - 1./((xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)) ;//Re[<5>_{3n,n|2n,n,n}] //OK!
+ //five3n1n2n1n1n = reQ3nQ1nQ2nstarQ1nstarQ1nstar/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) - (four4n2n1n1n+four1n1n1n1n+four3n1n1n1n+2.*four2n1n2n1n+2.*three3n2n1n+2.*four3n1n3n1n+four3n1n2n2n)/(dMult-4.) - (2.*three4n3n1n+three4n2n2n+6.*three3n2n1n+three4n3n1n+2.*three3n2n1n+3.*three2n1n1n+2.*three2n1n1n+4.*two1n1n+2.*two2n2n+2.*two3n3n)/((dMult-3.)*(dMult-4.)) - (5.*two1n1n + 4.*two2n2n + 3.*two3n3n + 1.*two4n4n + 2.)/((dMult-2.)*(dMult-3.)*(dMult-4.)) - 1./((dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) ;//Re[<5>_{3n,n|2n,n,n}] //OK!
- //five3n1n2n1n1n = reQ3nQ1nQ2nstarQ1nstarQ1nstar/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)) - (four4n2n1n1n+four1n1n1n1n+four3n1n1n1n+2.*four2n1n2n1n+2.*four3n1n3n1n+four3n1n2n2n)/(xMult-4.) - (2.*three4n3n1n+three4n2n2n+2.*xMult*three3n2n1n+three4n3n1n+2.*three3n2n1n+3.*three2n1n1n+2.*three2n1n1n)/((xMult-3.)*(xMult-4.)) - ((4.*xMult-3.)*two1n1n + 2.*xMult*two2n2n + (2.*xMult-1.)*two3n3n + two4n4n)/((xMult-2.)*(xMult-3.)*(xMult-4.)) - (2.*xMult-1.)/((xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)) ;//Re[<5>_{3n,n|2n,n,n}] //OK!
+ //five3n1n2n1n1n = reQ3nQ1nQ2nstarQ1nstarQ1nstar/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) - (four4n2n1n1n+four1n1n1n1n+four3n1n1n1n+2.*four2n1n2n1n+2.*four3n1n3n1n+four3n1n2n2n)/(dMult-4.) - (2.*three4n3n1n+three4n2n2n+2.*dMult*three3n2n1n+three4n3n1n+2.*three3n2n1n+3.*three2n1n1n+2.*three2n1n1n)/((dMult-3.)*(dMult-4.)) - ((4.*dMult-3.)*two1n1n + 2.*dMult*two2n2n + (2.*dMult-1.)*two3n3n + two4n4n)/((dMult-2.)*(dMult-3.)*(dMult-4.)) - (2.*dMult-1.)/((dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) ;//Re[<5>_{3n,n|2n,n,n}] //OK!
- fQCorrelations->Fill(18.,five2n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));
- fQCorrelations->Fill(19.,five2n2n2n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));
- fQCorrelations->Fill(20.,five3n1n2n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));
- fQCorrelations->Fill(21.,five4n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.));
+ fQCorrelations->Fill(18.,five2n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));
+ fQCorrelations->Fill(19.,five2n2n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));
+ fQCorrelations->Fill(20.,five3n1n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));
+ fQCorrelations->Fill(21.,five4n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));
}
//6-particle
Double_t six1n1n1n1n1n1n=0., six2n2n1n1n1n1n=0., six3n1n1n1n1n1n=0., six2n1n1n2n1n1n=0.;
- if(xMult>5)
+ if(dMult>5)
{
//fill the common control histogram (6th order):
fCommonHists6th->FillControlHistograms(anEvent);
- six1n1n1n1n1n1n = (pow(xQvector1n.Mod(),6.)+9.*xQ2nQ1nQ2nstarQ1nstar-6.*reQ2nQ1nQ1nstarQ1nstarQ1nstar)/(xMult*(xMult-1)*(xMult-2)*(xMult-3)*(xMult-4)*(xMult-5))+4.*(reQ3nQ1nstarQ1nstarQ1nstar-3.*reQ3nQ2nstarQ1nstar)/(xMult*(xMult-1)*(xMult-2)*(xMult-3)*(xMult-4)*(xMult-5))+2.*(9.*(xMult-4.)*reQ2nQ1nstarQ1nstar+2.*pow(xQvector3n.Mod(),2.))/(xMult*(xMult-1)*(xMult-2)*(xMult-3)*(xMult-4)*(xMult-5))-9.*(pow(xQvector1n.Mod(),4.)+pow(xQvector2n.Mod(),2.))/(xMult*(xMult-1)*(xMult-2)*(xMult-3)*(xMult-5))+(18.*pow(xQvector1n.Mod(),2.))/(xMult*(xMult-1)*(xMult-3)*(xMult-4))-(6.)/((xMult-1)*(xMult-2)*(xMult-3));//<6>_{n,n,n|n,n,n}
+ six1n1n1n1n1n1n = (pow(afvQvector1n.Mod(),6.)+9.*xQ2nQ1nQ2nstarQ1nstar-6.*reQ2nQ1nQ1nstarQ1nstarQ1nstar)/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-4)*(dMult-5))+4.*(reQ3nQ1nstarQ1nstarQ1nstar-3.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-4)*(dMult-5))+2.*(9.*(dMult-4.)*reQ2nQ1nstarQ1nstar+2.*pow(afvQvector3n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-4)*(dMult-5))-9.*(pow(afvQvector1n.Mod(),4.)+pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-5))+(18.*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1)*(dMult-3)*(dMult-4))-(6.)/((dMult-1)*(dMult-2)*(dMult-3));//<6>_{n,n,n|n,n,n}
- six2n1n1n2n1n1n = (xQ2nQ1nQ1nQ2nstarQ1nstarQ1nstar-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(2.*five2n2n2n1n1n+4.*five2n1n1n1n1n+4.*five3n1n2n1n1n+4.*four2n1n2n1n+1.*four1n1n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(4.*four1n1n1n1n+4.*two1n1n+2.*three2n1n1n+2.*three2n1n1n+4.*four3n1n1n1n+8.*three2n1n1n+2.*four4n2n1n1n+4.*four2n1n2n1n+2.*two2n2n+8.*four2n1n2n1n+4.*four3n1n3n1n+8.*three3n2n1n+4.*four3n1n2n2n+4.*four1n1n1n1n+4.*four2n1n2n1n+1.*four2n2n2n2n)-xMult*(xMult-1.)*(xMult-2.)*(2.*three2n1n1n+8.*two1n1n+4.*two1n1n+2.+4.*two1n1n+4.*three2n1n1n+2.*two2n2n+4.*three2n1n1n+8.*three3n2n1n+8.*two2n2n+4.*three4n3n1n+4.*two3n3n+4.*three3n2n1n+4.*two1n1n+8.*three2n1n1n+4.*two1n1n+4.*three3n2n1n+4.*three2n1n1n+2.*two2n2n+4.*three3n2n1n+2.*three4n2n2n)-xMult*(xMult-1.)*(4.*two1n1n+4.+4.*two1n1n+2.*two2n2n+1.+4.*two1n1n+4.*two2n2n+4.*two3n3n+ 1.+2.*two2n2n+1.*two4n4n)-xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));//<6>_{2n,n,n|2n,n,n}
+ six2n1n1n2n1n1n = (xQ2nQ1nQ1nQ2nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(2.*five2n2n2n1n1n+4.*five2n1n1n1n1n+4.*five3n1n2n1n1n+4.*four2n1n2n1n+1.*four1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four1n1n1n1n+4.*two1n1n+2.*three2n1n1n+2.*three2n1n1n+4.*four3n1n1n1n+8.*three2n1n1n+2.*four4n2n1n1n+4.*four2n1n2n1n+2.*two2n2n+8.*four2n1n2n1n+4.*four3n1n3n1n+8.*three3n2n1n+4.*four3n1n2n2n+4.*four1n1n1n1n+4.*four2n1n2n1n+1.*four2n2n2n2n)-dMult*(dMult-1.)*(dMult-2.)*(2.*three2n1n1n+8.*two1n1n+4.*two1n1n+2.+4.*two1n1n+4.*three2n1n1n+2.*two2n2n+4.*three2n1n1n+8.*three3n2n1n+8.*two2n2n+4.*three4n3n1n+4.*two3n3n+4.*three3n2n1n+4.*two1n1n+8.*three2n1n1n+4.*two1n1n+4.*three3n2n1n+4.*three2n1n1n+2.*two2n2n+4.*three3n2n1n+2.*three4n2n2n)-dMult*(dMult-1.)*(4.*two1n1n+4.+4.*two1n1n+2.*two2n2n+1.+4.*two1n1n+4.*two2n2n+4.*two3n3n+ 1.+2.*two2n2n+1.*two4n4n)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));//<6>_{2n,n,n|2n,n,n}
- six2n2n1n1n1n1n = (reQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(five4n1n1n1n1n+8.*five2n1n1n1n1n+6.*five2n2n2n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+12.*three2n1n1n+12.*four1n1n1n1n+24.*four2n1n2n1n+4.*four3n1n2n2n+3.*four2n2n2n2n)-xMult*(xMult-1.)*(xMult-2.)*(6.*three2n1n1n+12.*three3n2n1n+4.*three4n3n1n+3.*three4n2n2n+8.*three2n1n1n+24.*two1n1n+12.*two2n2n+12.*three2n1n1n+8.*three3n2n1n+1.*three4n2n2n)-xMult*(xMult-1.)*(4.*two1n1n+6.*two2n2n+4.*two3n3n+1.*two4n4n+2.*two2n2n+8.*two1n1n+6.)-xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));//<6>_{2n,2n,n|n,n,n}
+ six2n2n1n1n1n1n = (reQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(five4n1n1n1n1n+8.*five2n1n1n1n1n+6.*five2n2n2n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+12.*three2n1n1n+12.*four1n1n1n1n+24.*four2n1n2n1n+4.*four3n1n2n2n+3.*four2n2n2n2n)-dMult*(dMult-1.)*(dMult-2.)*(6.*three2n1n1n+12.*three3n2n1n+4.*three4n3n1n+3.*three4n2n2n+8.*three2n1n1n+24.*two1n1n+12.*two2n2n+12.*three2n1n1n+8.*three3n2n1n+1.*three4n2n2n)-dMult*(dMult-1.)*(4.*two1n1n+6.*two2n2n+4.*two3n3n+1.*two4n4n+2.*two2n2n+8.*two1n1n+6.)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));//<6>_{2n,2n,n|n,n,n}
- six3n1n1n1n1n1n = (reQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(five4n1n1n1n1n+4.*five2n1n1n1n1n+6.*five3n1n2n1n1n+4.*four3n1n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+6.*four1n1n1n1n+12.*three2n1n1n+12.*four2n1n2n1n+6.*four3n1n1n1n+12.*three3n2n1n+4.*four3n1n3n1n+3.*four3n1n2n2n)-xMult*(xMult-1.)*(xMult-2.)*(6.*three2n1n1n+12.*three3n2n1n+4.*three4n3n1n+3.*three4n2n2n+4.*two1n1n+12.*two1n1n+6.*three2n1n1n+12.*three2n1n1n+4.*three3n2n1n+12.*two2n2n+4.*three3n2n1n+4.*two3n3n+1.*three4n3n1n+6.*three3n2n1n)-xMult*(xMult-1.)*(4.*two1n1n+6.*two2n2n+4.*two3n3n+1.*two4n4n+1.*two1n1n+4.+6.*two1n1n+4.*two2n2n+1.*two3n3n)-xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));//<6>_{3n,n|n,n,n,n}
+ six3n1n1n1n1n1n = (reQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(five4n1n1n1n1n+4.*five2n1n1n1n1n+6.*five3n1n2n1n1n+4.*four3n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+6.*four1n1n1n1n+12.*three2n1n1n+12.*four2n1n2n1n+6.*four3n1n1n1n+12.*three3n2n1n+4.*four3n1n3n1n+3.*four3n1n2n2n)-dMult*(dMult-1.)*(dMult-2.)*(6.*three2n1n1n+12.*three3n2n1n+4.*three4n3n1n+3.*three4n2n2n+4.*two1n1n+12.*two1n1n+6.*three2n1n1n+12.*three2n1n1n+4.*three3n2n1n+12.*two2n2n+4.*three3n2n1n+4.*two3n3n+1.*three4n3n1n+6.*three3n2n1n)-dMult*(dMult-1.)*(4.*two1n1n+6.*two2n2n+4.*two3n3n+1.*two4n4n+1.*two1n1n+4.+6.*two1n1n+4.*two2n2n+1.*two3n3n)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));//<6>_{3n,n|n,n,n,n}
- fQCorrelations->Fill(23.,six1n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
- fQCorrelations->Fill(24.,six2n1n1n2n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
- fQCorrelations->Fill(25.,six2n2n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
- fQCorrelations->Fill(26.,six3n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
+ fQCorrelations->Fill(23.,six1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
+ fQCorrelations->Fill(24.,six2n1n1n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
+ fQCorrelations->Fill(25.,six2n2n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
+ fQCorrelations->Fill(26.,six3n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
- f6pDistribution->Fill(six1n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
+ f6pDistribution->Fill(six1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
- fQProduct->Fill(1.,two1n1n*six1n1n1n1n1n1n,xMult*(xMult-1.)*xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
- fQProduct->Fill(3.,four1n1n1n1n*six1n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.));
+ fQProduct->Fill(1.,two1n1n*six1n1n1n1n1n1n,dMult*(dMult-1.)*dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
+ fQProduct->Fill(3.,four1n1n1n1n*six1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));
}
//7-particle
Double_t seven2n1n1n1n1n1n1n=0.;
- if(xMult>6)
+ if(dMult>6)
{
- seven2n1n1n1n1n1n1n = (reQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(2.*six3n1n1n1n1n1n+4.*six1n1n1n1n1n1n+1.*six2n2n1n1n1n1n+6.*six2n1n1n2n1n1n+8.*five2n1n1n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(1.*five4n1n1n1n1n +8.*five2n1n1n1n1n+8.*four3n1n1n1n+12.*five3n1n2n1n1n+4.*five2n1n1n1n1n+3.*five2n2n2n1n1n+6.*five2n2n2n1n1n+6.*four1n1n1n1n+24.*four1n1n1n1n+12.*five2n1n1n1n1n+12.*five2n1n1n1n1n+12.*three2n1n1n+24.*four2n1n2n1n+4.*five3n1n2n1n1n+4.*five2n1n1n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+12.*four1n1n1n1n+24.*three2n1n1n+24.*four2n1n2n1n+12.*four3n1n1n1n+24.*three3n2n1n+8.*four3n1n3n1n+6.*four3n1n2n2n+6.*three2n1n1n+12.*four1n1n1n1n+12.*four2n1n2n1n+6.*three2n1n1n+12.*four2n1n2n1n+4.*four3n1n2n2n+3.*four2n2n2n2n+4.*four1n1n1n1n+6.*three2n1n1n+24.*two1n1n+24.*four1n1n1n1n+4.*four3n1n1n1n+24.*two1n1n+24.*three2n1n1n+12.*two2n2n+24.*three2n1n1n+12.*four2n1n2n1n+8.*three3n2n1n+8.*four2n1n2n1n+1.*four4n2n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(6.*three2n1n1n+1.*three2n1n1n+8.*two1n1n+12.*three3n2n1n+24.*two1n1n+12.*three2n1n1n+4.*three2n1n1n+8.*two1n1n+4.*three4n3n1n+24.*three2n1n1n+8.*three3n2n1n+12.*two1n1n+12.*two1n1n+3.*three4n2n2n+24.*two2n2n+6.*two2n2n+12.+12.*three3n2n1n+8.*two3n3n+12.*three2n1n1n+24.*two1n1n+4.*three3n2n1n+8.*three3n2n1n+2.*three4n3n1n+12.*two1n1n+8.*three2n1n1n+4.*three2n1n1n+2.*three3n2n1n+6.*two2n2n+8.*two2n2n+1.*three4n2n2n+4.*three3n2n1n+6.*three2n1n1n)-xMult*(xMult-1.)*(4.*two1n1n+2.*two1n1n+6.*two2n2n+8.+1.*two2n2n+4.*two3n3n+12.*two1n1n+4.*two1n1n+1.*two4n4n+8.*two2n2n+6.+2.*two3n3n+4.*two1n1n+1.*two2n2n)-xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(xMult-6.));
+ seven2n1n1n1n1n1n1n = (reQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(2.*six3n1n1n1n1n1n+4.*six1n1n1n1n1n1n+1.*six2n2n1n1n1n1n+6.*six2n1n1n2n1n1n+8.*five2n1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(1.*five4n1n1n1n1n +8.*five2n1n1n1n1n+8.*four3n1n1n1n+12.*five3n1n2n1n1n+4.*five2n1n1n1n1n+3.*five2n2n2n1n1n+6.*five2n2n2n1n1n+6.*four1n1n1n1n+24.*four1n1n1n1n+12.*five2n1n1n1n1n+12.*five2n1n1n1n1n+12.*three2n1n1n+24.*four2n1n2n1n+4.*five3n1n2n1n1n+4.*five2n1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+12.*four1n1n1n1n+24.*three2n1n1n+24.*four2n1n2n1n+12.*four3n1n1n1n+24.*three3n2n1n+8.*four3n1n3n1n+6.*four3n1n2n2n+6.*three2n1n1n+12.*four1n1n1n1n+12.*four2n1n2n1n+6.*three2n1n1n+12.*four2n1n2n1n+4.*four3n1n2n2n+3.*four2n2n2n2n+4.*four1n1n1n1n+6.*three2n1n1n+24.*two1n1n+24.*four1n1n1n1n+4.*four3n1n1n1n+24.*two1n1n+24.*three2n1n1n+12.*two2n2n+24.*three2n1n1n+12.*four2n1n2n1n+8.*three3n2n1n+8.*four2n1n2n1n+1.*four4n2n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(6.*three2n1n1n+1.*three2n1n1n+8.*two1n1n+12.*three3n2n1n+24.*two1n1n+12.*three2n1n1n+4.*three2n1n1n+8.*two1n1n+4.*three4n3n1n+24.*three2n1n1n+8.*three3n2n1n+12.*two1n1n+12.*two1n1n+3.*three4n2n2n+24.*two2n2n+6.*two2n2n+12.+12.*three3n2n1n+8.*two3n3n+12.*three2n1n1n+24.*two1n1n+4.*three3n2n1n+8.*three3n2n1n+2.*three4n3n1n+12.*two1n1n+8.*three2n1n1n+4.*three2n1n1n+2.*three3n2n1n+6.*two2n2n+8.*two2n2n+1.*three4n2n2n+4.*three3n2n1n+6.*three2n1n1n)-dMult*(dMult-1.)*(4.*two1n1n+2.*two1n1n+6.*two2n2n+8.+1.*two2n2n+4.*two3n3n+12.*two1n1n+4.*two1n1n+1.*two4n4n+8.*two2n2n+6.+2.*two3n3n+4.*two1n1n+1.*two2n2n)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.));
- fQCorrelations->Fill(28.,seven2n1n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(xMult-6.));
+ fQCorrelations->Fill(28.,seven2n1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.));
}
//8-particle
Double_t eight1n1n1n1n1n1n1n1n=0.;
- if(xMult>7)
+ if(dMult>7)
{
//fill the common control histogram (8th order):
fCommonHists8th->FillControlHistograms(anEvent);
- eight1n1n1n1n1n1n1n1n = (pow(xQvector1n.Mod(),8)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(xMult-6.)*(12.*seven2n1n1n1n1n1n1n+16.*six1n1n1n1n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(8.*six3n1n1n1n1n1n+48.*six1n1n1n1n1n1n+6.*six2n2n1n1n1n1n+96.*five2n1n1n1n1n+72.*four1n1n1n1n+36.*six2n1n1n2n1n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(2.*five4n1n1n1n1n+32.*five2n1n1n1n1n+36.*four1n1n1n1n+32.*four3n1n1n1n+48.*five2n1n1n1n1n+48.*five3n1n2n1n1n+144.*five2n1n1n1n1n+288.*four1n1n1n1n+36.*five2n2n2n1n1n+144.*three2n1n1n+96.*two1n1n+144.*four2n1n2n1n)-xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(8.*four3n1n1n1n+48.*four1n1n1n1n+12.*four4n2n1n1n+96.*four2n1n2n1n+96.*three2n1n1n+72.*three2n1n1n+144.*two1n1n+16.*four3n1n3n1n+48.*four3n1n1n1n+144.*four1n1n1n1n+72.*four1n1n1n1n+96.*three3n2n1n+24.*four3n1n2n2n+144.*four2n1n2n1n+288.*two1n1n+288.*three2n1n1n+9.*four2n2n2n2n+72.*two2n2n+24.)-xMult*(xMult-1.)*(xMult-2.)*(12.*three2n1n1n+16.*two1n1n+24.*three3n2n1n+48.*three2n1n1n+96.*two1n1n+8.*three4n3n1n+32.*three3n2n1n+96.*three2n1n1n+144.*two1n1n+6.*three4n2n2n+96.*two2n2n+36.*two2n2n+72.+48.*three3n2n1n+16.*two3n3n+72.*three2n1n1n+144.*two1n1n)-xMult*(xMult-1.)*(8.*two1n1n+12.*two2n2n+16.+8.*two3n3n+48.*two1n1n+1.*two4n4n+16.*two2n2n+18.)-xMult)/(xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(xMult-6.)*(xMult-7.));
+ eight1n1n1n1n1n1n1n1n = (pow(afvQvector1n.Mod(),8)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(12.*seven2n1n1n1n1n1n1n+16.*six1n1n1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(8.*six3n1n1n1n1n1n+48.*six1n1n1n1n1n1n+6.*six2n2n1n1n1n1n+96.*five2n1n1n1n1n+72.*four1n1n1n1n+36.*six2n1n1n2n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(2.*five4n1n1n1n1n+32.*five2n1n1n1n1n+36.*four1n1n1n1n+32.*four3n1n1n1n+48.*five2n1n1n1n1n+48.*five3n1n2n1n1n+144.*five2n1n1n1n1n+288.*four1n1n1n1n+36.*five2n2n2n1n1n+144.*three2n1n1n+96.*two1n1n+144.*four2n1n2n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(8.*four3n1n1n1n+48.*four1n1n1n1n+12.*four4n2n1n1n+96.*four2n1n2n1n+96.*three2n1n1n+72.*three2n1n1n+144.*two1n1n+16.*four3n1n3n1n+48.*four3n1n1n1n+144.*four1n1n1n1n+72.*four1n1n1n1n+96.*three3n2n1n+24.*four3n1n2n2n+144.*four2n1n2n1n+288.*two1n1n+288.*three2n1n1n+9.*four2n2n2n2n+72.*two2n2n+24.)-dMult*(dMult-1.)*(dMult-2.)*(12.*three2n1n1n+16.*two1n1n+24.*three3n2n1n+48.*three2n1n1n+96.*two1n1n+8.*three4n3n1n+32.*three3n2n1n+96.*three2n1n1n+144.*two1n1n+6.*three4n2n2n+96.*two2n2n+36.*two2n2n+72.+48.*three3n2n1n+16.*two3n3n+72.*three2n1n1n+144.*two1n1n)-dMult*(dMult-1.)*(8.*two1n1n+12.*two2n2n+16.+8.*two3n3n+48.*two1n1n+1.*two4n4n+16.*two2n2n+18.)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(dMult-7.));
- fQCorrelations->Fill(30.,eight1n1n1n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(xMult-6.)*(xMult-7.));
+ fQCorrelations->Fill(30.,eight1n1n1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(dMult-7.));
- f8pDistribution->Fill(eight1n1n1n1n1n1n1n1n,xMult*(xMult-1.)*(xMult-2.)*(xMult-3.)*(xMult-4.)*(xMult-5.)*(xMult-6.)*(xMult-7.));
+ f8pDistribution->Fill(eight1n1n1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(dMult-7.));
}
//---------------------------------------------------------------------------------------------------------
-
//---------------------------------------------------------------------------------------------------------
// DIFFERENTIAL FLOW
- Double_t xQx = xQvector1n.X();
- Double_t xQy = xQvector1n.Y();
- Double_t xQ2x = xQvector2n.X();
- Double_t xQ2y = xQvector2n.Y();
-
- Double_t qx=0.,qy=0.,q2x=0.,q2y=0.,m=0.;//add comments for these variables (deleteMe)
+ Double_t dQ1nx = afvQvector1n.X();
+ Double_t dQ1ny = afvQvector1n.Y();
+ Double_t dQ2nx = afvQvector2n.X();
+ Double_t dQ2ny = afvQvector2n.Y();
- for(Int_t i=0;i<xMult;i++) //check if nPrim == M
+ Double_t dBinWidthPt=1.*(fPtMax-fPtMin)/fnBinsPt;
+ Double_t dBinWidthEta=1.*(fEtaMax-fEtaMin)/fnBinsEta;
+
+ //RP:
+ Double_t qxPtRP=0.,qyPtRP=0.,q2xPtRP=0.,q2yPtRP=0.,mPtRP=0.;//add comments for these variables (deleteMe)
+ Double_t qxEtaRP=0.,qyEtaRP=0.,q2xEtaRP=0.,q2yEtaRP=0.,mEtaRP=0.;//add comments for these variables (deleteMe)
+
+ for(Int_t i=0;i<dMult;i++) //check if nPrim == M
{
fTrack=anEvent->GetTrack(i);
- if(fTrack)
+ if(fTrack && fTrack->UseForIntegratedFlow())//checking RP condition
{
- fReq1n->Fill(fTrack->Pt(),cos(n*(fTrack->Phi())),1.);
- fImq1n->Fill(fTrack->Pt(),sin(n*(fTrack->Phi())),1.);
- fReq2n->Fill(fTrack->Pt(),cos(2.*n*(fTrack->Phi())),1.);
- fImq2n->Fill(fTrack->Pt(),sin(2.*n*(fTrack->Phi())),1.);
+ //Pt:
+ fPtReq1nRP->Fill(fTrack->Pt(),cos(n*(fTrack->Phi())),1.);
+ fPtImq1nRP->Fill(fTrack->Pt(),sin(n*(fTrack->Phi())),1.);
+ fPtReq2nRP->Fill(fTrack->Pt(),cos(2.*n*(fTrack->Phi())),1.);
+ fPtImq2nRP->Fill(fTrack->Pt(),sin(2.*n*(fTrack->Phi())),1.);
+ //Eta:
+ fEtaReq1nRP->Fill(fTrack->Eta(),cos(n*(fTrack->Phi())),1.);
+ fEtaImq1nRP->Fill(fTrack->Eta(),sin(n*(fTrack->Phi())),1.);
+ fEtaReq2nRP->Fill(fTrack->Eta(),cos(2.*n*(fTrack->Phi())),1.);
+ fEtaImq2nRP->Fill(fTrack->Eta(),sin(2.*n*(fTrack->Phi())),1.);
}
}
- Double_t twoDiff1n1n=0.,twoDiff2n2n=0.,threeDiff2n1n1n=0.,threeDiff1n1n2n=0.,fourDiff1n1n1n1n=0.;
+ //Pt:
+ Double_t twoDiffPt1n1nRP=0.,twoDiffPt2n2nRP=0.,threeDiffPt2n1n1nRP=0.,threeDiffPt1n1n2nRP=0.,fourDiffPt1n1n1n1nRP=0.;
for(Int_t bin=1;bin<(fnBinsPt+1);bin++)//loop over pt-bins
{
- qx = (fReq1n->GetBinContent(bin))*(fReq1n->GetBinEntries(bin));
- qy = (fImq1n->GetBinContent(bin))*(fImq1n->GetBinEntries(bin));
- q2x = (fReq2n->GetBinContent(bin))*(fReq2n->GetBinEntries(bin));
- q2y = (fImq2n->GetBinContent(bin))*(fImq2n->GetBinEntries(bin));
- m = fReq1n->GetBinEntries(bin);
+ qxPtRP = (fPtReq1nRP->GetBinContent(bin))*(fPtReq1nRP->GetBinEntries(bin));
+ qyPtRP = (fPtImq1nRP->GetBinContent(bin))*(fPtImq1nRP->GetBinEntries(bin));
+ q2xPtRP = (fPtReq2nRP->GetBinContent(bin))*(fPtReq2nRP->GetBinEntries(bin));
+ q2yPtRP = (fPtImq2nRP->GetBinContent(bin))*(fPtImq2nRP->GetBinEntries(bin));
+ mPtRP = fPtReq1nRP->GetBinEntries(bin);
- if(m>0&&xMult>1)
+ if(mPtRP>0&&dMult>1)
{
- twoDiff1n1n = (qx*xQx+qy*xQy-m)/(m*(xMult-1.));
- f2PerBin1n1n->Fill((bin-1)*0.1,twoDiff1n1n,m*(xMult-1.));//<2'>_{n|n}
+ twoDiffPt1n1nRP = (qxPtRP*dQ1nx+qyPtRP*dQ1ny-mPtRP)/(mPtRP*(dMult-1.));
+ f2PerPtBin1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt1n1nRP,mPtRP*(dMult-1.));//<2'>_{n|n}
- twoDiff2n2n = (q2x*xQ2x+q2y*xQ2y-m)/(m*(xMult-1.));
- f2PerBin2n2n->Fill((bin-1)*0.1,twoDiff2n2n,m*(xMult-1.));//<2'>_{2n|2n}
+ twoDiffPt2n2nRP = (q2xPtRP*dQ2nx+q2yPtRP*dQ2ny-mPtRP)/(mPtRP*(dMult-1.));
+ f2PerPtBin2n2nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt2n2nRP,mPtRP*(dMult-1.));//<2'>_{2n|2n}
}
- if(m>0&&xMult>2)
+ if(mPtRP>0&&dMult>2)
{
- threeDiff2n1n1n = (q2x*(xQx*xQx-xQy*xQy)+2.*q2y*xQx*xQy-2.*(qx*xQx+qy*xQy)-(q2x*xQ2x+q2y*xQ2y)+2.*m)/(m*(xMult-1.)*(xMult-2.));
- f3PerBin2n1n1n->Fill((bin-1)*0.1,threeDiff2n1n1n,m*(xMult-1.)*(xMult-2.));//Re[<3'>_{2n|n,n}]
+ threeDiffPt2n1n1nRP = (q2xPtRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtRP*dQ1nx*dQ1ny-2.*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-(q2xPtRP*dQ2nx+q2yPtRP*dQ2ny)+2.*mPtRP)/(mPtRP*(dMult-1.)*(dMult-2.));
+ f3PerPtBin2n1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt2n1n1nRP,mPtRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}]
- threeDiff1n1n2n = (xQ2x*(qx*xQx-qy*xQy)+xQ2y*(qx*xQy+qy*xQx)-2.*(qx*xQx+qy*xQy)-(q2x*xQ2x+q2y*xQ2y)+2.*m)/(m*(xMult-1.)*(xMult-2.));
- f3PerBin1n1n2n->Fill((bin-1)*0.1,threeDiff1n1n2n,m*(xMult-1.)*(xMult-2.));//Re[<3'>_{n,n|2n}]
+ threeDiffPt1n1n2nRP = (dQ2nx*(qxPtRP*dQ1nx-qyPtRP*dQ1ny)+dQ2ny*(qxPtRP*dQ1ny+qyPtRP*dQ1nx)-2.*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-(q2xPtRP*dQ2nx+q2yPtRP*dQ2ny)+2.*mPtRP)/(mPtRP*(dMult-1.)*(dMult-2.));
+ f3PerPtBin1n1n2nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt1n1n2nRP,mPtRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}]
}
- if(m>0&&xMult>3)
+ if(mPtRP>0&&dMult>3)
{
- fourDiff1n1n1n1n = ((xQx*xQx+xQy*xQy)*(qx*xQx+qy*xQy)-(q2x*(xQx*xQx-xQy*xQy)+2.*q2y*xQx*xQy)-(xQ2x*(qx*xQx-qy*xQy)+xQ2y*(qx*xQy+qy*xQx))+(q2x*xQ2x+q2y*xQ2y)-2.*(xMult-3.)*(qx*xQx+qy*xQy)-2.*m*(xQx*xQx+xQy*xQy)+2.*(xQx*qx+xQy*qy)+2.*m*(xMult-3.))/(m*(xMult-1.)*(xMult-2.)*(xMult-3.));
- f4PerBin1n1n1n1n->Fill((bin-1)*0.1,fourDiff1n1n1n1n,m*(xMult-1.)*(xMult-2.)*(xMult-3.));//Re[<4'>_{n,n|n,n}]
+ fourDiffPt1n1n1n1nRP = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-(q2xPtRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtRP*dQ1nx*dQ1ny)-(dQ2nx*(qxPtRP*dQ1nx-qyPtRP*dQ1ny)+dQ2ny*(qxPtRP*dQ1ny+qyPtRP*dQ1nx))+(q2xPtRP*dQ2nx+q2yPtRP*dQ2ny)-2.*(dMult-3.)*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-2.*mPtRP*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxPtRP+dQ1ny*qyPtRP)+2.*mPtRP*(dMult-3.))/(mPtRP*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ f4PerPtBin1n1n1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,fourDiffPt1n1n1n1nRP,mPtRP*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}]
}
}
- fReq1n->Reset();
- fImq1n->Reset();
- fReq2n->Reset();
- fImq2n->Reset();
+ fPtReq1nRP->Reset();
+ fPtImq1nRP->Reset();
+ fPtReq2nRP->Reset();
+ fPtImq2nRP->Reset();
+
+ //Eta:
+ Double_t twoDiffEta1n1nRP=0.,twoDiffEta2n2nRP=0.,threeDiffEta2n1n1nRP=0.,threeDiffEta1n1n2nRP=0.,fourDiffEta1n1n1n1nRP=0.;
+
+ for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins
+ {
+ qxEtaRP = (fEtaReq1nRP->GetBinContent(bin))*(fEtaReq1nRP->GetBinEntries(bin));
+ qyEtaRP = (fEtaImq1nRP->GetBinContent(bin))*(fEtaImq1nRP->GetBinEntries(bin));
+ q2xEtaRP = (fEtaReq2nRP->GetBinContent(bin))*(fEtaReq2nRP->GetBinEntries(bin));
+ q2yEtaRP = (fEtaImq2nRP->GetBinContent(bin))*(fEtaImq2nRP->GetBinEntries(bin));
+ mEtaRP = fEtaReq1nRP->GetBinEntries(bin);
+
+ if(mEtaRP>0&&dMult>1)
+ {
+ twoDiffEta1n1nRP = (qxEtaRP*dQ1nx+qyEtaRP*dQ1ny-mEtaRP)/(mEtaRP*(dMult-1.));
+ f2PerEtaBin1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nRP,mEtaRP*(dMult-1.));//<2'>_{n|n}
+
+ twoDiffEta2n2nRP = (q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny-mEtaRP)/(mEtaRP*(dMult-1.));
+ f2PerEtaBin2n2nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta2n2nRP,mEtaRP*(dMult-1.));//<2'>_{2n|2n}
+ }
+
+ if(mEtaRP>0&&dMult>2)
+ {
+ threeDiffEta2n1n1nRP = (q2xEtaRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaRP*dQ1nx*dQ1ny-2.*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-(q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny)+2.*mEtaRP)/(mEtaRP*(dMult-1.)*(dMult-2.));
+ f3PerEtaBin2n1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta2n1n1nRP,mEtaRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}]
+
+ threeDiffEta1n1n2nRP = (dQ2nx*(qxEtaRP*dQ1nx-qyEtaRP*dQ1ny)+dQ2ny*(qxEtaRP*dQ1ny+qyEtaRP*dQ1nx)-2.*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-(q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny)+2.*mEtaRP)/(mEtaRP*(dMult-1.)*(dMult-2.));
+ f3PerEtaBin1n1n2nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta1n1n2nRP,mEtaRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}]
+ }
+
+ if(mEtaRP>0&&dMult>3)
+ {
+ fourDiffEta1n1n1n1nRP = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-(q2xEtaRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaRP*dQ1nx*dQ1ny)-(dQ2nx*(qxEtaRP*dQ1nx-qyEtaRP*dQ1ny)+dQ2ny*(qxEtaRP*dQ1ny+qyEtaRP*dQ1nx))+(q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny)-2.*(dMult-3.)*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-2.*mEtaRP*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxEtaRP+dQ1ny*qyEtaRP)+2.*mEtaRP*(dMult-3.))/(mEtaRP*(dMult-1.)*(dMult-2.)*(dMult-3.));
+ f4PerEtaBin1n1n1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,fourDiffEta1n1n1n1nRP,mEtaRP*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}]
+ }
+
+ }
+
+ fEtaReq1nRP->Reset();
+ fEtaImq1nRP->Reset();
+ fEtaReq2nRP->Reset();
+ fEtaImq2nRP->Reset();
+
+ //POI:
+ Double_t qxPtPOI=0.,qyPtPOI=0.,q2xPtPOI=0.,q2yPtPOI=0.,mPtPOI=0.;//add comments for these variables (deleteMe)
+ Double_t qxEtaPOI=0.,qyEtaPOI=0.,q2xEtaPOI=0.,q2yEtaPOI=0.,mEtaPOI=0.;//add comments for these variables (deleteMe)
+ Int_t iOverlap=0;
+
+ for(Int_t i=0;i<dMult;i++) //check if nPrim == M
+ {
+ fTrack=anEvent->GetTrack(i);
+ if(fTrack && fTrack->UseForDifferentialFlow())//checking POI condition
+ {
+ //Pt:
+ fPtReq1nPOI->Fill(fTrack->Pt(),cos(n*(fTrack->Phi())),1.);
+ fPtImq1nPOI->Fill(fTrack->Pt(),sin(n*(fTrack->Phi())),1.);
+ fPtReq2nPOI->Fill(fTrack->Pt(),cos(2.*n*(fTrack->Phi())),1.);
+ fPtImq2nPOI->Fill(fTrack->Pt(),sin(2.*n*(fTrack->Phi())),1.);
+ //Eta:
+ fEtaReq1nPOI->Fill(fTrack->Eta(),cos(n*(fTrack->Phi())),1.);
+ fEtaImq1nPOI->Fill(fTrack->Eta(),sin(n*(fTrack->Phi())),1.);
+ fEtaReq2nPOI->Fill(fTrack->Eta(),cos(2.*n*(fTrack->Phi())),1.);
+ fEtaImq2nPOI->Fill(fTrack->Eta(),sin(2.*n*(fTrack->Phi())),1.);
+ if(fTrack->UseForDifferentialFlow() && fTrack->UseForIntegratedFlow())//counting the overlap between RP and POI
+ {
+ iOverlap++;
+ }
+ }
+ }
+
+ //Pt:
+ Double_t twoDiffPt1n1nPOI=0.,twoDiffPt2n2nPOI=0.,threeDiffPt2n1n1nPOI=0.,threeDiffPt1n1n2nPOI=0.,fourDiffPt1n1n1n1nPOI=0.;
+
+ for(Int_t bin=1;bin<(fnBinsPt+1);bin++)//loop over pt-bins
+ {
+ qxPtPOI = (fPtReq1nPOI->GetBinContent(bin))*(fPtReq1nPOI->GetBinEntries(bin));
+ qyPtPOI = (fPtImq1nPOI->GetBinContent(bin))*(fPtImq1nPOI->GetBinEntries(bin));
+ q2xPtPOI = (fPtReq2nPOI->GetBinContent(bin))*(fPtReq2nPOI->GetBinEntries(bin));
+ q2yPtPOI = (fPtImq2nPOI->GetBinContent(bin))*(fPtImq2nPOI->GetBinEntries(bin));
+ mPtPOI = fPtReq1nPOI->GetBinEntries(bin);
+
+ if(mPtPOI>0&&dMult>1)
+ {
+ //twoDiffPt1n1nPOI = (qxPtPOI*dQ1nx+qyPtPOI*dQ1ny-mPtPOI)/(mPtPOI*(dMult-1.));
+ twoDiffPt1n1nPOI = (qxPtPOI*dQ1nx+qyPtPOI*dQ1ny-iOverlap)/(mPtPOI*(dMult-1.));
+ f2PerPtBin1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt1n1nPOI,mPtPOI*(dMult-1.));//<2'>_{n|n}
+
+ //twoDiffPt2n2nPOI = (q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny-mPtPOI)/(mPtPOI*(dMult-1.));
+ twoDiffPt2n2nPOI = (q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny-iOverlap)/(mPtPOI*(dMult-1.));
+ f2PerPtBin2n2nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt2n2nPOI,mPtPOI*(dMult-1.));//<2'>_{2n|2n}
+ }
+
+ if(mPtPOI>0&&dMult>2)
+ {
+ threeDiffPt2n1n1nPOI = (q2xPtPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtPOI*dQ1nx*dQ1ny-2.*(qxPtPOI*dQ1nx+qyPtPOI*dQ1ny)-(q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny)+2.*mPtPOI)/(mPtPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula)
+ //f3PePOItBin2n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt2n1n1nPOI,mPtPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}]
+
+ threeDiffPt1n1n2nPOI = (dQ2nx*(qxPtPOI*dQ1nx-qyPtPOI*dQ1ny)+dQ2ny*(qxPtPOI*dQ1ny+qyPtPOI*dQ1nx)-2.*(qxPtPOI*dQ1nx+qyPtPOI*dQ1ny)-(q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny)+2.*mPtPOI)/(mPtPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula)
+ //f3PePOItBin1n1n2nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt1n1n2nPOI,mPtPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}]
+ }
+
+ if(mPtPOI>0&&dMult>3)
+ {
+ fourDiffPt1n1n1n1nPOI = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPtPOI*dQ1nx+qyPtPOI*dQ1ny)-(q2xPtPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtPOI*dQ1nx*dQ1ny)-(dQ2nx*(qxPtPOI*dQ1nx-qyPtPOI*dQ1ny)+dQ2ny*(qxPtPOI*dQ1ny+qyPtPOI*dQ1nx))+(q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny)-2.*(dMult-3.)*(qxPtPOI*dQ1nx+qyPtPOI*dQ1ny)-2.*mPtPOI*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxPtPOI+dQ1ny*qyPtPOI)+2.*mPtPOI*(dMult-3.))/(mPtPOI*(dMult-1.)*(dMult-2.)*(dMult-3.));//to be improved (correct formula)
+ //f4PePOItBin1n1n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,fourDiffPt1n1n1n1nPOI,mPtPOI*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}]
+ }
+
+ }
+
+ fPtReq1nPOI->Reset();
+ fPtImq1nPOI->Reset();
+ fPtReq2nPOI->Reset();
+ fPtImq2nPOI->Reset();
+
+ //Eta:
+ Double_t twoDiffEta1n1nPOI=0.,twoDiffEta2n2nPOI=0.,threeDiffEta2n1n1nPOI=0.,threeDiffEta1n1n2nPOI=0.,fourDiffEta1n1n1n1nPOI=0.;
+
+ for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins
+ {
+ qxEtaPOI = (fEtaReq1nPOI->GetBinContent(bin))*(fEtaReq1nPOI->GetBinEntries(bin));
+ qyEtaPOI = (fEtaImq1nPOI->GetBinContent(bin))*(fEtaImq1nPOI->GetBinEntries(bin));
+ q2xEtaPOI = (fEtaReq2nPOI->GetBinContent(bin))*(fEtaReq2nPOI->GetBinEntries(bin));
+ q2yEtaPOI = (fEtaImq2nPOI->GetBinContent(bin))*(fEtaImq2nPOI->GetBinEntries(bin));
+ mEtaPOI = fEtaReq1nPOI->GetBinEntries(bin);
+
+ if(mEtaPOI>0&&dMult>1)
+ {
+ //twoDiffEta1n1nPOI = (qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny-mEtaPOI)/(mEtaPOI*(dMult-1.));
+ twoDiffEta1n1nPOI = (qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny-iOverlap)/(mEtaPOI*(dMult-1.));
+ f2PerEtaBin1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nPOI,mEtaPOI*(dMult-1.));//<2'>_{n|n}
+
+ //twoDiffEta2n2nPOI = (q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny-mEtaPOI)/(mEtaPOI*(dMult-1.));
+ twoDiffEta2n2nPOI = (q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny-iOverlap)/(mEtaPOI*(dMult-1.));
+ f2PerEtaBin2n2nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta2n2nPOI,mEtaPOI*(dMult-1.));//<2'>_{2n|2n}
+ }
+
+ if(mEtaPOI>0&&dMult>2)
+ {
+ threeDiffEta2n1n1nPOI = (q2xEtaPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaPOI*dQ1nx*dQ1ny-2.*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)+2.*mEtaPOI)/(mEtaPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula)
+ //f3PerEtaBin2n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta2n1n1nPOI,mEtaPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}]
+
+ threeDiffEta1n1n2nPOI = (dQ2nx*(qxEtaPOI*dQ1nx-qyEtaPOI*dQ1ny)+dQ2ny*(qxEtaPOI*dQ1ny+qyEtaPOI*dQ1nx)-2.*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)+2.*mEtaPOI)/(mEtaPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula)
+ //f3PerEtaBin1n1n2nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta1n1n2nPOI,mEtaPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}]
+ }
+
+ if(mEtaPOI>0&&dMult>3)
+ {
+ fourDiffEta1n1n1n1nPOI = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaPOI*dQ1nx*dQ1ny)-(dQ2nx*(qxEtaPOI*dQ1nx-qyEtaPOI*dQ1ny)+dQ2ny*(qxEtaPOI*dQ1ny+qyEtaPOI*dQ1nx))+(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)-2.*(dMult-3.)*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-2.*mEtaPOI*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxEtaPOI+dQ1ny*qyEtaPOI)+2.*mEtaPOI*(dMult-3.))/(mEtaPOI*(dMult-1.)*(dMult-2.)*(dMult-3.));//to be improved (correct formula)
+ //f4PerEtaBin1n1n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,fourDiffEta1n1n1n1nPOI,mEtaPOI*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}]
+ }
+
+ }
+
+ fEtaReq1nPOI->Reset();
+ fEtaImq1nPOI->Reset();
+ fEtaReq2nPOI->Reset();
+ fEtaImq2nPOI->Reset();
+
//---------------------------------------------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Double_t phi1=0., phi2=0., phi3=0., phi4=0., phi5=0., phi6=0., phi7=0., phi8=0.;
//<2>_{k*n|k*n} (k=1,2,3 and 4)
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
}
//<3>_{2n|n,n}, <3>_{3n|2n,n}, <3>_{4n|2n,2n} and <3>_{4n|3n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
}
//<4>_{n,n|n,n}, <4>_{2n,n|2n,n}, <4>_{2n,2n|2n,2n}, <4>_{3n|n,n,n}, <4>_{3n,n|3n,n}, <4>_{3n,n|2n,2n} and <4>_{4n|2n,n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
phi3=fTrack->Phi();
- for(Int_t i4=0;i4<xMult;i4++)
+ for(Int_t i4=0;i4<dMult;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
}
//<5>_{2n,n,n,n,n}, //<5>_{2n,2n|2n,n,n}, <5>_{3n,n|2n,n,n} and <5>_{4n|n,n,n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
//cout<<"i1 = "<<i1<<endl;
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
phi3=fTrack->Phi();
- for(Int_t i4=0;i4<xMult;i4++)
+ for(Int_t i4=0;i4<dMult;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
phi4=fTrack->Phi();
- for(Int_t i5=0;i5<xMult;i5++)
+ for(Int_t i5=0;i5<dMult;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
}
//<6>_{n,n,n,n,n,n}, <6>_{2n,n,n|2n,n,n}, <6>_{2n,2n|n,n,n,n} and <6>_{3n,n|n,n,n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
//cout<<"i1 = "<<i1<<endl;
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
phi3=fTrack->Phi();
- for(Int_t i4=0;i4<xMult;i4++)
+ for(Int_t i4=0;i4<dMult;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
phi4=fTrack->Phi();
- for(Int_t i5=0;i5<xMult;i5++)
+ for(Int_t i5=0;i5<dMult;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
phi5=fTrack->Phi();
- for(Int_t i6=0;i6<xMult;i6++)
+ for(Int_t i6=0;i6<dMult;i6++)
{
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;
fTrack=anEvent->GetTrack(i6);
}
//<7>_{2n,n,n|n,n,n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
//cout<<"i1 = "<<i1<<endl;
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
phi3=fTrack->Phi();
- for(Int_t i4=0;i4<xMult;i4++)
+ for(Int_t i4=0;i4<dMult;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
phi4=fTrack->Phi();
- for(Int_t i5=0;i5<xMult;i5++)
+ for(Int_t i5=0;i5<dMult;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
phi5=fTrack->Phi();
- for(Int_t i6=0;i6<xMult;i6++)
+ for(Int_t i6=0;i6<dMult;i6++)
{
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;
fTrack=anEvent->GetTrack(i6);
phi6=fTrack->Phi();
- for(Int_t i7=0;i7<xMult;i7++)
+ for(Int_t i7=0;i7<dMult;i7++)
{
if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue;
fTrack=anEvent->GetTrack(i7);
}
//<8>_{n,n,n,n|n,n,n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
cout<<"i1 = "<<i1<<endl;
fTrack=anEvent->GetTrack(i1);
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
phi3=fTrack->Phi();
- for(Int_t i4=0;i4<xMult;i4++)
+ for(Int_t i4=0;i4<dMult;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
phi4=fTrack->Phi();
- for(Int_t i5=0;i5<xMult;i5++)
+ for(Int_t i5=0;i5<dMult;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
phi5=fTrack->Phi();
- for(Int_t i6=0;i6<xMult;i6++)
+ for(Int_t i6=0;i6<dMult;i6++)
{
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;
fTrack=anEvent->GetTrack(i6);
phi6=fTrack->Phi();
- for(Int_t i7=0;i7<xMult;i7++)
+ for(Int_t i7=0;i7<dMult;i7++)
{
if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue;
fTrack=anEvent->GetTrack(i7);
phi7=fTrack->Phi();
- for(Int_t i8=0;i8<xMult;i8++)
+ for(Int_t i8=0;i8<dMult;i8++)
{
if(i8==i1||i8==i2||i8==i3||i8==i4||i8==i5||i8==i6||i8==i7)continue;
fTrack=anEvent->GetTrack(i8);
//51st bin: <4'>_{n,n|n,n}
//<2'>_{n|n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
fTrack=anEvent->GetTrack(i1);
if(fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)
{
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
}
//<3'>_{2n|n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
fTrack=anEvent->GetTrack(i1);
if(fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)
{
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
}
//<4'>_{n,n|n,n}
- for(Int_t i1=0;i1<xMult;i1++)
+ for(Int_t i1=0;i1<dMult;i1++)
{
fTrack=anEvent->GetTrack(i1);
if(fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)
{
phi1=fTrack->Phi();
- for(Int_t i2=0;i2<xMult;i2++)
+ for(Int_t i2=0;i2<dMult;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
phi2=fTrack->Phi();
- for(Int_t i3=0;i3<xMult;i3++)
+ for(Int_t i3=0;i3<dMult;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
phi3=fTrack->Phi();
- for(Int_t i4=0;i4<xMult;i4++)
+ for(Int_t i4=0;i4<dMult;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
void AliFlowAnalysisWithQCumulants::Finish()
{
//calculate the final results
- AliQCumulantsFunctions finalResults(fIntFlowResultsQC,fDiffFlowResults2ndOrderQC,fDiffFlowResults4thOrderQC,fCovariances,fAvMultIntFlowQC,fQvectorComponents,fQCorrelations, fQProduct,fDirectCorrelations, f2PerBin1n1n,f2PerBin2n2n,f3PerBin2n1n1n,f3PerBin1n1n2n,f4PerBin1n1n1n1n,fCommonHistsResults2nd, fCommonHistsResults4th,fCommonHistsResults6th,fCommonHistsResults8th);
+ AliQCumulantsFunctions finalResults(fIntFlowResultsQC,fDiffFlowResults2ndOrderQC,fDiffFlowResults4thOrderQC,fCovariances,fAvMultIntFlowQC,fQvectorComponents,fQCorrelations, fQProduct,fDirectCorrelations,f2PerPtBin1n1nRP,f2PerPtBin2n2nRP,f3PerPtBin2n1n1nRP,f3PerPtBin1n1n2nRP,f4PerPtBin1n1n1n1nRP, f2PerEtaBin1n1nRP,f2PerEtaBin2n2nRP,f3PerEtaBin2n1n1nRP,f3PerEtaBin1n1n2nRP,f4PerEtaBin1n1n1n1nRP, f2PerPtBin1n1nPOI,f2PerPtBin2n2nPOI,f3PerPtBin2n1n1nPOI,f3PerPtBin1n1n2nPOI,f4PerPtBin1n1n1n1nPOI, f2PerEtaBin1n1nPOI,f2PerEtaBin2n2nPOI,f3PerEtaBin2n1n1nPOI,f3PerEtaBin1n1n2nPOI,f4PerEtaBin1n1n1n1nPOI,fCommonHistsResults2nd, fCommonHistsResults4th,fCommonHistsResults6th,fCommonHistsResults8th);
finalResults.Calculate();
}
fQCorr(NULL),
fQProd(NULL),
fDirect(NULL),
- fbin2p1n1n(NULL),
- fbin2p2n2n(NULL),
- fbin3p2n1n1n(NULL),
- fbin3p1n1n2n(NULL),
- fbin4p1n1n1n1n(NULL),
+ fbinPt2p1n1nRP(NULL),
+ fbinPt2p2n2nRP(NULL),
+ fbinPt3p2n1n1nRP(NULL),
+ fbinPt3p1n1n2nRP(NULL),
+ fbinPt4p1n1n1n1nRP(NULL),
+ fbinEta2p1n1nRP(NULL),
+ fbinEta2p2n2nRP(NULL),
+ fbinEta3p2n1n1nRP(NULL),
+ fbinEta3p1n1n2nRP(NULL),
+ fbinEta4p1n1n1n1nRP(NULL),
+ fbinPt2p1n1nPOI(NULL),
+ fbinPt2p2n2nPOI(NULL),
+ fbinPt3p2n1n1nPOI(NULL),
+ fbinPt3p1n1n2nPOI(NULL),
+ fbinPt4p1n1n1n1nPOI(NULL),
+ fbinEta2p1n1nPOI(NULL),
+ fbinEta2p2n2nPOI(NULL),
+ fbinEta3p2n1n1nPOI(NULL),
+ fbinEta3p1n1n2nPOI(NULL),
+ fbinEta4p1n1n1n1nPOI(NULL),
fchr2nd(NULL),
fchr4th(NULL),
fchr6th(NULL),
//destructor
}
-AliQCumulantsFunctions::AliQCumulantsFunctions(TH1D *intRes, TH1D *diffRes2nd, TH1D *diffRes4th, TH1D *covar, TProfile *AvMult, TProfile *QVector, TProfile *QCorr, TProfile *QProd, TProfile *Direct, TProfile *bin2p1n1n, TProfile *bin2p2n2n, TProfile *bin3p2n1n1n, TProfile *bin3p1n1n2n, TProfile *bin4p1n1n1n1n, AliFlowCommonHistResults *chr2nd, AliFlowCommonHistResults *chr4th, AliFlowCommonHistResults *chr6th, AliFlowCommonHistResults *chr8th):
+AliQCumulantsFunctions::AliQCumulantsFunctions(TH1D *intRes, TH1D *diffRes2nd, TH1D *diffRes4th, TH1D *covar, TProfile *AvMult, TProfile *QVector, TProfile *QCorr, TProfile *QProd, TProfile *Direct, TProfile *binPt2p1n1nRP, TProfile *binPt2p2n2nRP, TProfile *binPt3p2n1n1nRP, TProfile *binPt3p1n1n2nRP, TProfile *binPt4p1n1n1n1nRP, TProfile *binEta2p1n1nRP, TProfile *binEta2p2n2nRP, TProfile *binEta3p2n1n1nRP, TProfile *binEta3p1n1n2nRP, TProfile *binEta4p1n1n1n1nRP, TProfile *binPt2p1n1nPOI, TProfile *binPt2p2n2nPOI, TProfile *binPt3p2n1n1nPOI, TProfile *binPt3p1n1n2nPOI, TProfile *binPt4p1n1n1n1nPOI, TProfile *binEta2p1n1nPOI, TProfile *binEta2p2n2nPOI, TProfile *binEta3p2n1n1nPOI, TProfile *binEta3p1n1n2nPOI, TProfile *binEta4p1n1n1n1nPOI, AliFlowCommonHistResults *chr2nd, AliFlowCommonHistResults *chr4th, AliFlowCommonHistResults *chr6th, AliFlowCommonHistResults *chr8th):
fIntRes(intRes),
fDiffRes2nd(diffRes2nd),
fDiffRes4th(diffRes4th),
fQCorr(QCorr),
fQProd(QProd),
fDirect(Direct),
- fbin2p1n1n(bin2p1n1n),
- fbin2p2n2n(bin2p2n2n),
- fbin3p2n1n1n(bin3p2n1n1n),
- fbin3p1n1n2n(bin3p1n1n2n),
- fbin4p1n1n1n1n(bin4p1n1n1n1n),
+ fbinPt2p1n1nRP(binPt2p1n1nRP),
+ fbinPt2p2n2nRP(binPt2p2n2nRP),
+ fbinPt3p2n1n1nRP(binPt3p2n1n1nRP),
+ fbinPt3p1n1n2nRP(binPt3p1n1n2nRP),
+ fbinPt4p1n1n1n1nRP(binPt4p1n1n1n1nRP),
+ fbinEta2p1n1nRP(binEta2p1n1nRP),
+ fbinEta2p2n2nRP(binEta2p2n2nRP),
+ fbinEta3p2n1n1nRP(binEta3p2n1n1nRP),
+ fbinEta3p1n1n2nRP(binEta3p1n1n2nRP),
+ fbinEta4p1n1n1n1nRP(binEta4p1n1n1n1nRP),
+ fbinPt2p1n1nPOI(binPt2p1n1nPOI),
+ fbinPt2p2n2nPOI(binPt2p2n2nPOI),
+ fbinPt3p2n1n1nPOI(binPt3p2n1n1nPOI),
+ fbinPt3p1n1n2nPOI(binPt3p1n1n2nPOI),
+ fbinPt4p1n1n1n1nPOI(binPt4p1n1n1n1nPOI),
+ fbinEta2p1n1nPOI(binEta2p1n1nPOI),
+ fbinEta2p2n2nPOI(binEta2p2n2nPOI),
+ fbinEta3p2n1n1nPOI(binEta3p2n1n1nPOI),
+ fbinEta3p1n1n2nPOI(binEta3p1n1n2nPOI),
+ fbinEta4p1n1n1n1nPOI(binEta4p1n1n1n1nPOI),
fchr2nd(chr2nd),
fchr4th(chr4th),
fchr6th(chr6th),
Double_t eightOrderQCumulant = eight-16.*two*six-18.*pow(four,2.)+144.*pow(two,2.)*four-144.*pow(two,4.);
//integrated flow estimates from Q-cumulants:
- cout<<" "<<endl;
- cout<<"*********************************"<<endl;
- cout<<"*********************************"<<endl;
+ cout<<endl;
+ cout<<"***********************************"<<endl;
+ cout<<"***********************************"<<endl;
cout<<"flow estimates from Q-cumulants:"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
Double_t vn2=0.,vn4=0.,vn6=0.,vn8=0.;
Double_t sd2=0.,sd4=0.,sd6=0.,sd8=0.;
fIntRes->SetBinContent(1,vn2);
fIntRes->SetBinError(1,sd2);
//common histograms:
- fchr2nd->FillIntegratedFlow(vn2,sd2);
- fchr2nd->FillChi(vn2*pow(AvM,0.5));
+ fchr2nd->FillIntegratedFlow(vn2,sd2);//to be removed
+ fchr2nd->FillChi(vn2*pow(AvM,0.5));//to be removed
+ fchr2nd->FillIntegratedFlowRP(vn2,sd2);
}else{
cout<<" v_"<<n<<"{2} = Im"<<endl;
}
fIntRes->SetBinContent(2,vn4);
fIntRes->SetBinError(2,sd4);
//common histograms:
- fchr4th->FillIntegratedFlow(vn4,sd4);
- fchr4th->FillChi(vn4*pow(AvM,0.5));
+ fchr4th->FillIntegratedFlow(vn4,sd4);//to be removed
+ fchr4th->FillChi(vn4*pow(AvM,0.5));//to be removed
+ fchr4th->FillIntegratedFlowRP(vn4,sd4);
}else{
cout<<" v_"<<n<<"{4} = Im"<<endl;
}
fIntRes->SetBinContent(3,vn6);
fIntRes->SetBinError(3,sd6);
//common histograms:
- fchr6th->FillIntegratedFlow(vn6,sd6);
- fchr6th->FillChi(vn6*pow(AvM,0.5));
+ fchr6th->FillIntegratedFlow(vn6,sd6);//to be removed
+ fchr6th->FillChi(vn6*pow(AvM,0.5));//to be removed
+ fchr6th->FillIntegratedFlowRP(vn6,sd6);
}else{
cout<<" v_"<<n<<"{6} = Im"<<endl;
}
fIntRes->SetBinContent(4,vn8);
fIntRes->SetBinError(4,sd8);
//common histograms:
- fchr8th->FillIntegratedFlow(vn8,sd8);
- fchr8th->FillChi(vn8*pow(AvM,0.5));
+ fchr8th->FillIntegratedFlow(vn8,sd8);//to be removed
+ fchr8th->FillChi(vn8*pow(AvM,0.5));//to be removed
+ fchr8th->FillIntegratedFlowRP(vn8,sd8);
+ }else{
+ cout<<" v_"<<n<<"{8} = Im"<<endl;
}
- cout<<" "<<endl;
+ cout<<endl;
cout<<" nEvts = "<<nEvts<<", AvM = "<<AvM<<endl;
- cout<<"*********************************"<<endl;
- cout<<"*********************************"<<endl;
- cout<<" "<<endl;
+ cout<<"***********************************"<<endl;
+ cout<<"***********************************"<<endl;
+ cout<<endl;
//---------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------
-//differential flow
-Double_t secondOrderQCumulantDiffFlow = 0.;
-Double_t fourthOrderQCumulantDiffFlow = 0.;
+//differential flow (RP)
+
+//Pt:
+Double_t secondOrderQCumulantDiffFlowPtRP = 0.;
+Double_t fourthOrderQCumulantDiffFlowPtRP = 0.;
+
+Int_t nBinsPtRP = fbinPt2p1n1nRP->GetNbinsX();
+
+for(Int_t bb=1;bb<nBinsPtRP+1;bb++)
+{
+ if(fbinPt2p1n1nRP->GetBinEntries(bb)>0.&&vn2!=0)
+ {
+ secondOrderQCumulantDiffFlowPtRP = fbinPt2p1n1nRP->GetBinContent(bb);
+ fDiffRes2nd->SetBinContent(bb,secondOrderQCumulantDiffFlowPtRP/vn2);
+ //common histogram:
+ fchr2nd->FillDifferentialFlowPtRP(bb,secondOrderQCumulantDiffFlowPtRP/vn2, 0.);//to be improved (errors)
+ }
+ if(fbinPt4p1n1n1n1nRP->GetBinEntries(bb)>0.&&vn4!=0.)
+ {
+ fourthOrderQCumulantDiffFlowPtRP = fbinPt4p1n1n1n1nRP->GetBinContent(bb)-2.*fbinPt2p1n1nRP->GetBinContent(bb)*pow(vn2,2.);
+ fDiffRes4th->SetBinContent(bb,-1.*fourthOrderQCumulantDiffFlowPtRP/pow(vn4,3.));
+ //common histogram:
+ fchr4th->FillDifferentialFlowPtRP(bb,-1.*fourthOrderQCumulantDiffFlowPtRP/pow(vn4,3.), 0.);//to be improved (errors)
+ }
+}
+
+//Eta:
+Double_t secondOrderQCumulantDiffFlowEtaRP = 0.;
+Double_t fourthOrderQCumulantDiffFlowEtaRP = 0.;
+
+Int_t nBinsEtaRP = fbinEta2p1n1nRP->GetNbinsX();
-Int_t nBins = fbin2p1n1n->GetNbinsX();
+for(Int_t bb=1;bb<nBinsEtaRP+1;bb++)
+{
+ if(fbinEta2p1n1nRP->GetBinEntries(bb)>0.&&vn2!=0)
+ {
+ secondOrderQCumulantDiffFlowEtaRP = fbinEta2p1n1nRP->GetBinContent(bb);
+ fDiffRes2nd->SetBinContent(bb,secondOrderQCumulantDiffFlowEtaRP/vn2);
+ //common histogram:
+ fchr2nd->FillDifferentialFlowEtaRP(bb,secondOrderQCumulantDiffFlowEtaRP/vn2, 0.);//to be improved (errors)
+ }
+ if(fbinEta4p1n1n1n1nRP->GetBinEntries(bb)>0.&&vn4!=0.)
+ {
+ fourthOrderQCumulantDiffFlowEtaRP = fbinEta4p1n1n1n1nRP->GetBinContent(bb)-2.*fbinEta2p1n1nRP->GetBinContent(bb)*pow(vn2,2.);
+ fDiffRes4th->SetBinContent(bb,-1.*fourthOrderQCumulantDiffFlowEtaRP/pow(vn4,3.));
+ //common histogram:
+ fchr4th->FillDifferentialFlowEtaRP(bb,-1.*fourthOrderQCumulantDiffFlowEtaRP/pow(vn4,3.), 0.);//to be improved (errors)
+ }
+}
+
+
+//differential flow (POI)
+
+//Pt:
+Double_t secondOrderQCumulantDiffFlowPtPOI = 0.;
+Double_t fourthOrderQCumulantDiffFlowPtPOI = 0.;
-for(Int_t bb=1;bb<nBins+1;bb++)
+Int_t nBinsPtPOI = fbinPt2p1n1nPOI->GetNbinsX();
+
+for(Int_t bb=1;bb<nBinsPtPOI+1;bb++)
{
- if(fbin2p1n1n->GetBinEntries(bb)>0.&&vn2!=0)
+ if(fbinPt2p1n1nPOI->GetBinEntries(bb)>0.&&vn2!=0)
{
- secondOrderQCumulantDiffFlow = fbin2p1n1n->GetBinContent(bb);
- fDiffRes2nd->SetBinContent(bb,secondOrderQCumulantDiffFlow/vn2);
+ secondOrderQCumulantDiffFlowPtPOI = fbinPt2p1n1nPOI->GetBinContent(bb);
+ fDiffRes2nd->SetBinContent(bb,secondOrderQCumulantDiffFlowPtPOI/vn2);
//common histogram:
- fchr2nd->FillDifferentialFlow(bb,secondOrderQCumulantDiffFlow/vn2, 0.);//to be improved (errors)
+ fchr2nd->FillDifferentialFlowPtPOI(bb,secondOrderQCumulantDiffFlowPtPOI/vn2, 0.);//to be improved (errors)
}
- if(fbin4p1n1n1n1n->GetBinEntries(bb)>0.&&vn4!=0.)
+ if(fbinPt4p1n1n1n1nPOI->GetBinEntries(bb)>0.&&vn4!=0.)
{
- fourthOrderQCumulantDiffFlow = fbin4p1n1n1n1n->GetBinContent(bb)-2.*fbin2p1n1n->GetBinContent(bb)*pow(vn2,2.);
- fDiffRes4th->SetBinContent(bb,-1.*fourthOrderQCumulantDiffFlow/pow(vn4,3.));
+ fourthOrderQCumulantDiffFlowPtPOI = fbinPt4p1n1n1n1nPOI->GetBinContent(bb)-2.*fbinPt2p1n1nPOI->GetBinContent(bb)*pow(vn2,2.);
+ fDiffRes4th->SetBinContent(bb,-1.*fourthOrderQCumulantDiffFlowPtPOI/pow(vn4,3.));
//common histogram:
- fchr4th->FillDifferentialFlow(bb,-1.*fourthOrderQCumulantDiffFlow/pow(vn4,3.), 0.);//to be improved (errors)
+ fchr4th->FillDifferentialFlowPtPOI(bb,-1.*fourthOrderQCumulantDiffFlowPtPOI/pow(vn4,3.), 0.);//to be improved (errors)
}
}
+
+//Eta:
+Double_t secondOrderQCumulantDiffFlowEtaPOI = 0.;
+Double_t fourthOrderQCumulantDiffFlowEtaPOI = 0.;
+
+Int_t nBinsEtaPOI = fbinEta2p1n1nPOI->GetNbinsX();
+
+for(Int_t bb=1;bb<nBinsEtaPOI+1;bb++)
+{
+ if(fbinEta2p1n1nPOI->GetBinEntries(bb)>0.&&vn2!=0)
+ {
+ secondOrderQCumulantDiffFlowEtaPOI = fbinEta2p1n1nPOI->GetBinContent(bb);
+ fDiffRes2nd->SetBinContent(bb,secondOrderQCumulantDiffFlowEtaPOI/vn2);
+ //common histogram:
+ fchr2nd->FillDifferentialFlowEtaPOI(bb,secondOrderQCumulantDiffFlowEtaPOI/vn2, 0.);//to be improved (errors)
+ }
+ if(fbinEta4p1n1n1n1nPOI->GetBinEntries(bb)>0.&&vn4!=0.)
+ {
+ fourthOrderQCumulantDiffFlowEtaPOI = fbinEta4p1n1n1n1nPOI->GetBinContent(bb)-2.*fbinEta2p1n1nPOI->GetBinContent(bb)*pow(vn2,2.);
+ fDiffRes4th->SetBinContent(bb,-1.*fourthOrderQCumulantDiffFlowEtaPOI/pow(vn4,3.));
+ //common histogram:
+ fchr4th->FillDifferentialFlowEtaPOI(bb,-1.*fourthOrderQCumulantDiffFlowEtaPOI/pow(vn4,3.), 0.);//to be improved (errors)
+ }
+}
+
//---------------------------------------------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Double_t second=pow(fourErr,2.);
Double_t third=-8.*two*cov24;
- cout<<" "<<endl;
- cout<<" "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
+ cout<<endl;
+ cout<<endl;
cout<<" 1st = "<<(1./16.)*first/(pow(-fourthOrderQCumulant,1.5))<<endl;
cout<<" 2nd = "<<(1./16.)*second/(pow(-fourthOrderQCumulant,1.5))<<endl;
cout<<" 3rd = "<<(1./16.)*third/(pow(-fourthOrderQCumulant,1.5))<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<" nEvts = "<<nEvts<<", AvM = "<<AvM<<endl;
- cout<<" "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
+ cout<<endl;
cout<<"c-c = "<<pow((1./16.)*((first+second+third)/(pow(-fourthOrderQCumulant,1.5))),0.5)<<endl;
*/
cout<<"<4>_{3n,n,n,n} correlation from Q-vector = "<<four_3n_n_n_n<<endl;AvQ2
cout<<"<4>_{3n,n,n,n} correlation directly = "<<fourDirect_3n_n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{2n,n,2n,n} correlation from Q-vector = "<<four_2n_n_2n_n<<endl;
cout<<"<4>_{2n,n,2n,n} correlation directly = "<<fourDirect_2n_n_2n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<5>_{2n,n,n,n,n} correlation from Q-vector = "<<five_2n_n_n_n_n<<endl;
cout<<"<5>_{2n,n,n,n,n} correlation directly = "<<fiveDirect_2n_n_n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{n,n,n,n,n,n} correlation from Q-vector = "<<six_n_n_n_n_n_n<<endl;
cout<<"<6>_{n,n,n,n,n,n} correlation directly = "<<sixDirect_n_n_n_n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
*/
- //cout<<" "<<endl;
+ //cout<<endl;
//cout<<"should be the same? "<<threeDirect_3n_2n_n<<" "<<three_2n_n_nTemp<<endl;
- //cout<<" "<<endl;
+ //cout<<endl;
- //cout<<" "<<endl;
+ //cout<<endl;
cout<<"***************************"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"multiplicity = "<<AvM<<endl;
- cout<<" "<<endl;
+ cout<<endl;
Double_t two=(AvQ2-AvM)/(AvM*(AvM-1));
Double_t two_2n=(AvQ_2n2-AvM)/(AvM*(AvM-1));
//cout<<"two's = "<<two<<" "<<two_2n<<" "<<two_3n<<" "<<two_4n<<" "<<two_5n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
Double_t four=(2.*AvM*(AvM-3.)+AvQ4-4.*(AvM-2.)*AvQ2-2.*ReQ2nQnstarQnstar+AvQ_2n2)/(AvM*(AvM-1)*(AvM-2)*(AvM-3));
Double_t three_2n_n_n=(ReQ2nQnstarQnstar-AvM-2*AvM*(AvM-1)*two-AvM*(AvM-1)*two_2n)/(AvM*(AvM-1)*(AvM-2));
cout<<"<2> correlation from Q-vector = "<<two<<endl;
cout<<"<2> correlation directly = "<<twoDirect_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4> correlation from Q-vector = "<<four<<endl;
cout<<"<4> correlation directly = "<<fourDirect<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<3>_{2n,n,n} correlation from Q-vector = "<<three_2n_n_n<<endl;
cout<<"<3>_{2n,n,n} correlation directly = "<<threeDirect_2n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<3>_{3n,2n,n} correlation from Q-vector = "<<three_3n_2n_n<<endl;
cout<<"<3>_{3n,2n,n} correlation directly = "<<threeDirect_3n_2n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{3n,n,n,n} correlation from Q-vector = "<<four_3n_n_n_n<<endl;
cout<<"<4>_{3n,n,n,n} correlation directly = "<<fourDirect_3n_n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{2n,n,2n,n} correlation from Q-vector = "<<four_2n_n_2n_n<<endl;
cout<<"<4>_{2n,n,2n,n} correlation directly = "<<fourDirect_2n_n_2n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<5>_{2n,n,n,n,n} correlation from Q-vector = "<<five_2n_n_n_n_n<<endl;
cout<<"<5>_{2n,n,n,n,n} correlation directly = "<<fiveDirect_2n_n_n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{n,n,n,n,n,n} correlation from Q-vector = "<<six_n_n_n_n_n_n<<endl;
cout<<"<6>_{n,n,n,n,n,n} correlation directly = "<<sixDirect_n_n_n_n_n_n<<endl;
- cout<<" "<<endl;
+ cout<<endl;
//cout<<"temp re = "<<ReQ2nQnstarQnstar<<endl;
//cout<<"temp im = "<<ImQ2nQnstarQnstar<<endl;
//cout<<AvQ2<<" "<<sqrt(AvQ4)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"AvM = "<<AvM<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"*************************************"<<endl;
cout<<"*************************************"<<endl;
cout<<"flow estimates from Q-cumulants:"<<endl;
Double_t cumulant4Q=four-2.*two*two;
Double_t cumulant6Q=12.*two*two*two-9.*two*four+six_n_n_n_n_n_n;
- //cout<<" "<<endl;
+ //cout<<endl;
if(cumulant2Q>0.){
cout<<"v_2{2} = "<<100*pow(cumulant2Q,1./2.)<<"%"<<endl;
}else{
cout<<"*************************************"<<endl;
cout<<"*************************************"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"*************************************"<<endl;
cout<<"*************************************"<<endl;
cout<<"flow estimates from Q-cumulants"<<endl;
Double_t cumulant4QnoFluct=fQCorr->GetBinContent(11)-2.*fQCorr->GetBinContent(1)*fQCorr->GetBinContent(1);
Double_t cumulant6QnoFluct=12.*fQCorr->GetBinContent(1)*fQCorr->GetBinContent(1)*fQCorr->GetBinContent(1) - 9.*fQCorr->GetBinContent(1)*fQCorr->GetBinContent(11)+fQCorr->GetBinContent(21);
- //cout<<" "<<endl;
+ //cout<<endl;
if(cumulant2QnoFluct>0.){
cout<<"v_2{2} = "<<100*pow(cumulant2QnoFluct,1./2.)<<"%"<<endl;
fIntRes->SetBinContent(1,100*pow(cumulant2QnoFluct,1./2.));
cout<<"*************************************"<<endl;
cout<<"*************************************"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"*****************************************************************"<<endl;
cout<<"direct (nested loops) correlations vs correlations from Q-vectors"<<endl;
cout<<"for ARBITRARY multiplicity:"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"avarage multiplicity = "<<AvM<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<2>_{n|n} correlation from Q-vector = "<<fQCorr->GetBinContent(1)<<endl;
cout<<"<2>_{n|n} correlation nested loops = "<<fDirect->GetBinContent(1)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{n,n|n,n} correlation from Q-vector = "<<fQCorr->GetBinContent(11)<<endl;
cout<<"<4>_{n,n|n,n} correlation nested loops = "<<fDirect->GetBinContent(2)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{n,n,n|n,n,n} correlation from Q-vector = "<<fQCorr->GetBinContent(21)<<endl;
cout<<"<6>_{n,n,n|n,n,n} correlation nested loops = "<<fDirect->GetBinContent(8)<<endl;
cout<<"*****************************************************************"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"fourth order Q-cumulant should be the same and BDO4? "<<fourthOrderQCumulant<<" "<<cumulant4Q<<" "<<BDO4<<endl;
- cout<<" "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
+ cout<<endl;
cout<<"sixth order Q-cumulant should be the same and BDO6? "<<sixthOrderQCumulant<<" "<<cumulant6Q<<" "<<BDO6<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"*************************************"<<endl;
cout<<"*************************************"<<endl;
- cout<<" "<<endl;
+ cout<<endl;
//needed for direct correlations
- cout<<" "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
+ cout<<endl;
cout<<" **** cross-checking the formulas ****"<<endl;
cout<<" **** for integrated flow ****"<<endl;
cout<<"(selected only events for which 8 < M < 14 "<<endl;
cout<<" from dataset in /data/alice2/ante/AOD) "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<" nEvts = "<<nEvts<<", AvM = "<<AvM<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<2>_{n|n} from Q-vectors = "<<fQCorr->GetBinContent(1)<<endl;
cout<<"<2>_{n|n} from nested loops = "<<fDirect->GetBinContent(1)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<2>_{2n|2n} from Q-vectors = "<<fQCorr->GetBinContent(2)<<endl;
cout<<"<2>_{2n|2n} from nested loops = "<<fDirect->GetBinContent(2)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<2>_{3n|3n} from Q-vectors = "<<fQCorr->GetBinContent(3)<<endl;
cout<<"<2>_{3n|3n} from nested loops = "<<fDirect->GetBinContent(3)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<2>_{4n|4n} from Q-vectors = "<<fQCorr->GetBinContent(4)<<endl;
cout<<"<2>_{4n|4n} from nested loops = "<<fDirect->GetBinContent(4)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<3>_{2n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(6)<<endl;
cout<<"<3>_{2n,n,n} from nested loops = "<<fDirect->GetBinContent(6)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<3>_{3n,2n,n} from Q-vectors = "<<fQCorr->GetBinContent(7)<<endl;
cout<<"<3>_{3n,2n,n} from nested loops = "<<fDirect->GetBinContent(7)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<3>_{4n,2n,2n} from Q-vectors = "<<fQCorr->GetBinContent(8)<<endl;
cout<<"<3>_{4n,2n,2n} from nested loops = "<<fDirect->GetBinContent(8)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<3>_{4n,3n,n} from Q-vectors = "<<fQCorr->GetBinContent(9)<<endl;
cout<<"<3>_{4n,3n,n} from nested loops = "<<fDirect->GetBinContent(9)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{n,n|n,n} from Q-vectors = "<<fQCorr->GetBinContent(11)<<endl;
cout<<"<4>_{n,n|n,n} from nested loops = "<<fDirect->GetBinContent(11)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{2n,n|2n,n} from Q-vectors = "<<fQCorr->GetBinContent(12)<<endl;
cout<<"<4>_{2n,n|2n,n} from nested loops = "<<fDirect->GetBinContent(12)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{2n,2n|2n,2n} from Q-vectors = "<<fQCorr->GetBinContent(13)<<endl;
cout<<"<4>_{2n,2n|2n,2n} from nested loops = "<<fDirect->GetBinContent(13)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{3n|n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(14)<<endl;
cout<<"<4>_{3n|n,n,n} from nested loops = "<<fDirect->GetBinContent(14)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{3n,n|3n,n} from Q-vectors = "<<fQCorr->GetBinContent(15)<<endl;
cout<<"<4>_{3n,n|3n,n} from nested loops = "<<fDirect->GetBinContent(15)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{3n,n|2n,2n} from Q-vectors = "<<fQCorr->GetBinContent(16)<<endl;
cout<<"<4>_{3n,n|2n,2n} from nested loops = "<<fDirect->GetBinContent(16)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<4>_{4n|2n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(17)<<endl;
cout<<"<4>_{4n|2n,n,n} from nested loops = "<<fDirect->GetBinContent(17)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<5>_{2n,n|n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(19)<<endl;
cout<<"<5>_{2n,n|n,n,n} from nested loops = "<<fDirect->GetBinContent(19)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<5>_{2n,2n|2n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(20)<<endl;
cout<<"<5>_{2n,2n|2n,n,n} from nested loops = "<<fDirect->GetBinContent(20)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<5>_{3n,n|2n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(21)<<endl;
cout<<"<5>_{3n,n|2n,n,n} from nested loops = "<<fDirect->GetBinContent(21)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<5>_{4n|n,n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(22)<<endl;
cout<<"<5>_{4n|n,n,n,n} from nested loops = "<<fDirect->GetBinContent(22)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{n,n,n|n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(24)<<endl;
cout<<"<6>_{n,n,n|n,n,n} from nested loops = "<<fDirect->GetBinContent(24)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{2n,n,n|2n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(25)<<endl;
cout<<"<6>_{2n,n,n|2n,n,n} from nested loops = "<<fDirect->GetBinContent(25)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{2n,2n|n,n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(26)<<endl;
cout<<"<6>_{2n,2n|n,n,n,n} from nested loops = "<<fDirect->GetBinContent(26)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<6>_{3n,n|n,n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(27)<<endl;
cout<<"<6>_{3n,n|n,n,n,n} from nested loops = "<<fDirect->GetBinContent(27)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<7>_{2n,n,n|n,n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(29)<<endl;
cout<<"<7>_{2n,n,n|n,n,n,n} from nested loops = "<<fDirect->GetBinContent(29)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"<8>_{n,n,n,n|n,n,n,n} from Q-vectors = "<<fQCorr->GetBinContent(31)<<endl;
cout<<"<8>_{n,n,n,n|n,n,n,n} from nested loops = "<<fDirect->GetBinContent(31)<<endl;
- cout<<" "<<endl;
+ cout<<endl;
//DIFFERENTIAL FLOW
- cout<<" "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
+ cout<<endl;
cout<<" **** cross-checking the formulas ****"<<endl;
cout<<" **** for differential flow ****"<<endl;
cout<<"(selected only events for which 8 < M < 14 "<<endl;
cout<<" from dataset in /data/alice2/ante/AOD) "<<endl;
- cout<<" "<<endl;
+ cout<<endl;
cout<<"nEvts = "<<nEvts<<", AvM = "<<AvM<<endl;
cout<<"0.5 < Pt < 0.6 GeV"<<endl;
- cout<<" "<<endl;
- cout<<"<2'>_{n|n} from Q-vectors = "<<fbin2p1n1n->GetBinContent(6)<<endl;kTRUE
+ cout<<endl;
+ cout<<"<2'>_{n|n} from Q-vectors = "<<fbinPt2p1n1n->GetBinContent(6)<<endl;kTRUE
cout<<"<2'>_{n|n} from nested loops = "<<fDirect->GetBinContent(41)<<endl;
- cout<<" "<<endl;
- cout<<"<2'>_{2n|2n} from Q-vectors = "<<fbin2p2n2n->GetBinContent(6)<<endl;
+ cout<<endl;
+ cout<<"<2'>_{2n|2n} from Q-vectors = "<<fbinPt2p2n2n->GetBinContent(6)<<endl;
cout<<"<2'>_{2n|2n} from nested loops = "<<fDirect->GetBinContent(42)<<endl;
- cout<<" "<<endl;
- cout<<"<3'>_{2n|n,n} from Q-vectors = "<<fbin3p2n1n1n->GetBinContent(6)<<endl;
+ cout<<endl;
+ cout<<"<3'>_{2n|n,n} from Q-vectors = "<<fbinPt3p2n1n1n->GetBinContent(6)<<endl;
cout<<"<3'>_{2n|n,n} from nested loops = "<<fDirect->GetBinContent(46)<<endl;
- cout<<" "<<endl;
- cout<<"<3'>_{n,n|2n} from Q-vectors = "<<fbin3p1n1n2n->GetBinContent(6)<<endl;
+ cout<<endl;
+ cout<<"<3'>_{n,n|2n} from Q-vectors = "<<fbinPt3p1n1n2n->GetBinContent(6)<<endl;
cout<<"<3'>_{n,n|2n} from nested loops = "<<fDirect->GetBinContent(47)<<endl;
- cout<<" "<<endl;
- cout<<"<4'>_{n,n|n,n} from Q-vectors = "<<fbin4p1n1n1n1n->GetBinContent(6)<<endl;
+ cout<<endl;
+ cout<<"<4'>_{n,n|n,n} from Q-vectors = "<<fbinPt4p1n1n1n1n->GetBinContent(6)<<endl;
cout<<"<4'>_{n,n|n,n} from nested loops = "<<fDirect->GetBinContent(51)<<endl;
- cout<<" "<<endl;
+ cout<<endl;