@@ -174,6 +174,7 @@ struct cascadeFlow {
174174 Configurable<bool > cfgShiftCorr{" cfgShiftCorr" , 0 , " " };
175175 Configurable<std::string> cfgShiftPath{" cfgShiftPath" , " Users/j/junlee/Qvector/QvecCalib/Shift" , " Path for Shift" };
176176 Configurable<int > cfgnMods{" cfgnMods" , 1 , " The number of modulations of interest starting from 2" };
177+ // Configurable<float> cfgHarmonic{"cfgHarmonic", 2, "Harmonic for event plane calculation"};
177178
178179 // THN axes
179180 ConfigurableAxis thnConfigAxisFT0C{" thnConfigAxisFT0C" , {8 , 0 , 80 }, " FT0C centrality (%)" };
@@ -703,6 +704,8 @@ struct cascadeFlow {
703704 float maxMass[2 ]{1.36 , 1.73 };
704705 float minMassLambda[2 ]{1.09 , 1.09 };
705706 float maxMassLambda[2 ]{1.14 , 1.14 };
707+ const AxisSpec shiftAxis = {10 , 0 , 10 , " shift" };
708+ const AxisSpec basisAxis = {2 , 0 , 2 , " basis" };
706709 const AxisSpec massCascAxis[2 ]{{static_cast <int >((maxMass[0 ] - minMass[0 ]) / 0 .001f ), minMass[0 ], maxMass[0 ], " #Xi candidate mass (GeV/c^{2})" },
707710 {static_cast <int >((maxMass[1 ] - minMass[1 ]) / 0 .001f ), minMass[1 ], maxMass[1 ], " #Omega candidate mass (GeV/c^{2})" }};
708711 const AxisSpec massLambdaAxis[2 ]{{static_cast <int >((maxMassLambda[0 ] - minMassLambda[0 ]) / 0 .001f ), minMassLambda[0 ], maxMassLambda[0 ], " #Lambda candidate mass (GeV/c^{2})" },
@@ -726,6 +729,10 @@ struct cascadeFlow {
726729 resolution.add (" QVectorsT0CTPCC_Shifted" , " QVectorsT0CTPCC_Shifted" , HistType::kTH2F , {axisQVs, CentAxis});
727730 resolution.add (" QVectorsTPCAC_Shifted" , " QVectorsTPCAC_Shifted" , HistType::kTH2F , {axisQVs, CentAxis});
728731
732+ histos.add (" ShiftFT0C" , " ShiftFT0C" , kTProfile3D , {CentAxis, basisAxis, shiftAxis});
733+ histos.add (" ShiftTPCL" , " ShiftTPCL" , kTProfile3D , {CentAxis, basisAxis, shiftAxis});
734+ histos.add (" ShiftTPCR" , " ShiftTPCR" , kTProfile3D , {CentAxis, basisAxis, shiftAxis});
735+
729736 histos.add (" hNEvents" , " hNEvents" , {HistType::kTH1F , {{10 , 0 .f , 10 .f }}});
730737 for (Int_t n = 1 ; n <= histos.get <TH1>(HIST (" hNEvents" ))->GetNbinsX (); n++) {
731738 histos.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (n, hNEventsLabels[n - 1 ]);
@@ -1041,6 +1048,17 @@ struct cascadeFlow {
10411048 const float psiTPCC = std::atan2 (coll.qvecBNegIm (), coll.qvecBNegRe ()) * 0 .5f ;
10421049 float psiT0CCorr = psiT0C;
10431050
1051+ for (int ishift = 1 ; ishift <= 10 ; ishift++) {
1052+ histos.fill (HIST (" ShiftFT0C" ), coll.centFT0C (), 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiT0C));
1053+ histos.fill (HIST (" ShiftFT0C" ), coll.centFT0C (), 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiT0C));
1054+
1055+ histos.fill (HIST (" ShiftTPCL" ), coll.centFT0C (), 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiTPCA));
1056+ histos.fill (HIST (" ShiftTPCL" ), coll.centFT0C (), 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiTPCA));
1057+
1058+ histos.fill (HIST (" ShiftTPCR" ), coll.centFT0C (), 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiTPCC));
1059+ histos.fill (HIST (" ShiftTPCR" ), coll.centFT0C (), 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiTPCC));
1060+ }
1061+
10441062 if (cfgShiftCorr) {
10451063 currentRunNumber = coll.runNumber ();
10461064 if (currentRunNumber != lastRunNumber) {
0 commit comments