Skip to content

Commit fbde5fd

Browse files
committed
Add TPC X-rows config, add centrality estimators to MC reco
1 parent ee1203e commit fbde5fd

File tree

9 files changed

+30
-46
lines changed

9 files changed

+30
-46
lines changed

PWGCF/GenericFramework/Core/BootstrapProfile.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
/// \file BootstrapProfile.h/.cxx
13+
/// \brief Derived class from TProfile that stores extra TProfiles for bootstrap samples
14+
/// \author Emil Gorm Nielsen (ack. V. Vislavicius), NBI, [email protected]
15+
1216
#ifndef PWGCF_GENERICFRAMEWORK_CORE_BOOTSTRAPPROFILE_H_
1317
#define PWGCF_GENERICFRAMEWORK_CORE_BOOTSTRAPPROFILE_H_
1418

PWGCF/GenericFramework/Core/FlowContainer.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
/// \file GFW.h/.cxx
13+
/// \brief Container to store correlations and compute common cumulants
14+
/// \author Emil Gorm Nielsen, NBI, [email protected]
15+
1216
#ifndef PWGCF_GENERICFRAMEWORK_CORE_FLOWCONTAINER_H_
1317
#define PWGCF_GENERICFRAMEWORK_CORE_FLOWCONTAINER_H_
1418
#include <vector>

PWGCF/GenericFramework/Core/GFW.cxx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,6 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
/*
13-
Author: Vytautas Vislavicius
14-
Extention of Generic Flow (https://arxiv.org/abs/1312.3572 by A. Bilandzic et al.)
15-
Class steers the initialization and calculation of n-particle correlations. Uses recursive function, all terms are calculated only once.
16-
Latest version includes the calculation of any number of gaps and any combination of harmonics (including eg symmetric cumulants, etc.)
17-
If used, modified, or distributed, please aknowledge the author of this code.
18-
*/
19-
2012
#include "GFW.h"
2113

2214
using std::complex;

PWGCF/GenericFramework/Core/GFW.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
/*
13-
Author: Vytautas Vislavicius
14-
Extention of Generic Flow (https://arxiv.org/abs/1312.3572 by A. Bilandzic et al.)
15-
Class steers the initialization and calculation of n-particle correlations. Uses recursive function, all terms are calculated only once.
16-
Latest version includes the calculation of any number of gaps and any combination of harmonics (including eg symmetric cumulants, etc.)
17-
If used, modified, or distributed, please aknowledge the author of this code.
18-
*/
12+
/// \file GFW.h/.cxx
13+
/// \brief Class steers the initialization and calculation of n-particle correlations. Uses recursive function, all terms are calculated only once.
14+
/// \author Emil Gorm Nielsen (ack. V. Vislavicius), NBI, [email protected]
15+
1916
#ifndef PWGCF_GENERICFRAMEWORK_CORE_GFW_H_
2017
#define PWGCF_GENERICFRAMEWORK_CORE_GFW_H_
2118

PWGCF/GenericFramework/Core/GFWCumulant.cxx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,6 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
/*
13-
Author: Vytautas Vislavicius
14-
Extention of Generic Flow (https://arxiv.org/abs/1312.3572 by A. Bilandzic et al.)
15-
A part of <GFW.cxx/h>
16-
A container to store Q vectors for one subevent with an extra layer to recursively calculate particle correlations.
17-
If used, modified, or distributed, please aknowledge the author of this code.
18-
*/
19-
2012
#include "GFWCumulant.h"
2113

2214
using std::complex;

PWGCF/GenericFramework/Core/GFWCumulant.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
/*
13-
Author: Vytautas Vislavicius
14-
Extention of Generic Flow (https://arxiv.org/abs/1312.3572 by A. Bilandzic et al.)
15-
A part of <GFW.cxx/h>
16-
A container to store Q vectors for one subevent with an extra layer to recursively calculate particle correlations.
17-
If used, modified, or distributed, please aknowledge the author of this code.
18-
*/
12+
/// \file GFWCumulant.h/.cxx
13+
/// \brief A container to store Q vectors for one subevent with an extra layer to recursively calculate particle correlations.
14+
/// \author Emil Gorm Nielsen (ack. V. Vislavicius), NBI, [email protected]
15+
1916
#ifndef PWGCF_GENERICFRAMEWORK_CORE_GFWCUMULANT_H_
2017
#define PWGCF_GENERICFRAMEWORK_CORE_GFWCUMULANT_H_
2118

PWGCF/GenericFramework/Core/GFWPowerArray.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
/// \file GFWPowerArray.h/.cxx
13+
/// \brief Class to compute necessary powers of Q-vectors based on input correlations
14+
/// \author Emil Gorm Nielsen, NBI, [email protected]
15+
1216
#ifndef PWGCF_GENERICFRAMEWORK_CORE_GFWPOWERARRAY_H_
1317
#define PWGCF_GENERICFRAMEWORK_CORE_GFWPOWERARRAY_H_
1418

PWGCF/GenericFramework/Core/ProfileSubset.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
/// \file ProfileSubset.h/.cxx
13+
/// \brief // Helper class to select a subrange of a TProfile
14+
/// \author Emil Gorm Nielsen (ack. V. Vislavicius), NBI, [email protected]
15+
1216
#ifndef PWGCF_GENERICFRAMEWORK_CORE_PROFILESUBSET_H_
1317
#define PWGCF_GENERICFRAMEWORK_CORE_PROFILESUBSET_H_
14-
// Helper function to select a subrange of a TProfile
18+
1519
#include "TProfile.h"
1620
#include "TProfile2D.h"
1721
#include "TError.h"

PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ struct FlowGenericFramework {
9797
O2_DEFINE_CONFIGURABLE(cfgDCAxyNSigma, float, 7, "Cut on number of sigma deviations from expected DCA in the transverse direction");
9898
O2_DEFINE_CONFIGURABLE(cfgDCAz, float, 2, "Cut on DCA in the longitudinal direction (cm)");
9999
O2_DEFINE_CONFIGURABLE(cfgNTPCCls, float, 70, "Cut on number of TPC clusters found");
100+
O2_DEFINE_CONFIGURABLE(cfgNTPCXrows, float, 70, "Cut on number of TPC crossed rows");
100101
O2_DEFINE_CONFIGURABLE(cfgMinNITSCls, float, 5, "Cut on minimum number of ITS clusters found");
101102
O2_DEFINE_CONFIGURABLE(cfgChi2PrITSCls, float, 36, "Cut on chi^2 per ITS clusters found");
102103
O2_DEFINE_CONFIGURABLE(cfgChi2PrTPCCls, float, 2.5, "Cut on chi^2 per TPC clusters found");
@@ -298,7 +299,7 @@ struct FlowGenericFramework {
298299
registry.add("MCGen/before/pt_gen", "", {HistType::kTH1D, {ptAxis}});
299300
registry.add("MCGen/before/phi_eta_vtxZ_gen", "", {HistType::kTH3D, {phiAxis, etaAxis, vtxAxis}});
300301
registry.addClone("MCGen/before/", "MCGen/after/");
301-
registry.add("MCGen/impactParameter", "", {HistType::kTH2D, {{bAxis, nchAxis}}});
302+
if(doprocessOnTheFly) registry.add("MCGen/impactParameter", "", {HistType::kTH2D, {{bAxis, nchAxis}}});
302303
}
303304
if (doprocessMCReco || doprocessData || doprocessRun2) {
304305
registry.add("trackQA/before/phi_eta_vtxZ", "", {HistType::kTH3D, {phiAxis, etaAxis, vtxAxis}});
@@ -386,16 +387,6 @@ struct FlowGenericFramework {
386387
fMultCutLow->SetParameters(&(o2::analysis::gfw::multGlobalCorrCutPars[0]));
387388
fMultCutHigh = new TF1("fMultCutHigh", cfgMultCorrHighCutFunction->c_str(), 0, 100);
388389
fMultCutHigh->SetParameters(&(o2::analysis::gfw::multGlobalCorrCutPars[0]));
389-
/*
390-
fMultPVCutLow = new TF1("fMultPVCutLow", "[0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)", 0, 100);
391-
fMultPVCutLow->SetParameters(3257.29, -121.848, 1.98492, -0.0172128, 6.47528e-05, 154.756, -1.86072, -0.0274713, 0.000633499, -3.37757e-06);
392-
fMultPVCutHigh = new TF1("fMultPVCutHigh", "[0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x + 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)", 0, 100);
393-
fMultPVCutHigh->SetParameters(3257.29, -121.848, 1.98492, -0.0172128, 6.47528e-05, 154.756, -1.86072, -0.0274713, 0.000633499, -3.37757e-06);
394-
395-
fMultCutLow = new TF1("fMultCutLow", "[0]+[1]*x+[2]*x*x+[3]*x*x*x - 2.*([4]+[5]*x+[6]*x*x+[7]*x*x*x+[8]*x*x*x*x)", 0, 100);
396-
fMultCutLow->SetParameters(1654.46, -47.2379, 0.449833, -0.0014125, 150.773, -3.67334, 0.0530503, -0.000614061, 3.15956e-06);
397-
fMultCutHigh = new TF1("fMultCutHigh", "[0]+[1]*x+[2]*x*x+[3]*x*x*x + 3.*([4]+[5]*x+[6]*x*x+[7]*x*x*x+[8]*x*x*x*x)", 0, 100);
398-
fMultCutHigh->SetParameters(1654.46, -47.2379, 0.449833, -0.0014125, 150.773, -3.67334, 0.0530503, -0.000614061, 3.15956e-06); */
399390
}
400391
if (cfgUseDensityDependentCorrection) {
401392
std::vector<double> pTEffBins = {0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.4, 1.8, 2.2, 2.6, 3.0};
@@ -630,7 +621,7 @@ struct FlowGenericFramework {
630621
{
631622
if (cfgDCAxyNSigma && (std::fabs(track.dcaXY()) > cfgDCAxyNSigma / 7. * (0.0105f + 0.0035f / track.pt())))
632623
return false;
633-
return ((track.tpcNClsFound() >= cfgNTPCCls) && (track.itsNCls() >= cfgMinNITSCls));
624+
return ((track.tpcNClsCrossedRows() >= cfgNTPCXrows) && (track.tpcNClsFound() >= cfgNTPCCls) && (track.itsNCls() >= cfgMinNITSCls));
634625
}
635626
enum DataType {
636627
kReco,
@@ -1100,7 +1091,7 @@ struct FlowGenericFramework {
11001091
}
11011092
PROCESS_SWITCH(FlowGenericFramework, processData, "Process analysis for non-derived data", true);
11021093

1103-
void processMCReco(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs>>::iterator const& collision, aod::BCsWithTimestamps const&, soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA, aod::McTrackLabels>> const& tracks, aod::McParticles const&)
1094+
void processMCReco(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms, aod::CentFV0As, aod::CentNTPVs>>::iterator const& collision, aod::BCsWithTimestamps const&, soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA, aod::McTrackLabels>> const& tracks, aod::McParticles const&)
11041095
{
11051096
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
11061097
int run = bc.runNumber();
@@ -1141,10 +1132,9 @@ struct FlowGenericFramework {
11411132

11421133
void processOnTheFly(soa::Filtered<aod::McCollisions>::iterator const& mcCollision, aod::McParticles const& mcParticles)
11431134
{
1144-
float centrality = -1;
11451135
int run = 0;
11461136
registry.fill(HIST("MCGen/impactParameter"), mcCollision.impactParameter(), mcParticles.size());
1147-
processCollision<kGen>(mcCollision, mcParticles, centrality, run);
1137+
processCollision<kGen>(mcCollision, mcParticles, mcCollision.impactParameter(), run);
11481138
}
11491139
PROCESS_SWITCH(FlowGenericFramework, processOnTheFly, "Process analysis for MC on-the-fly generated events", false);
11501140

0 commit comments

Comments
 (0)