Skip to content

Commit 5a137f4

Browse files
committed
formatting issues
1 parent 7114730 commit 5a137f4

1 file changed

Lines changed: 7 additions & 139 deletions

File tree

Tutorials/PWGCF/TwoParticleCorrelations/src/firstcfcorrelations.cxx

Lines changed: 7 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -30,171 +30,39 @@ using namespace o2;
3030
using namespace o2::framework;
3131
using namespace o2::framework::expressions;
3232

33-
static constexpr float cfgPairCutDefaults[1][5] = {{-1, -1, -1, -1, -1}};
34-
3533
struct firstcorrelations {
36-
// Declare configurables for correlations
37-
Configurable<float> cfgZVtxCut = {"zvtxcut", 7.0, "Vertex z cut. Default 7 cm"};
38-
Configurable<float> cfgPtCutMin = {"minpt", 0.2, "Minimum accepted track pT. Default 0.2 GeV"};
39-
Configurable<float> cfgPtCutMax = {"maxpt", 10.0, "Maximum accepted track pT. Default 5.0 GeV"};
40-
Configurable<float> cfgEtaCut = {"etacut", 0.8, "Eta cut. Default 0.8"};
41-
Configurable<LabeledArray<float>> cfgPairCut{"cfgPairCut",
42-
{cfgPairCutDefaults[0],
43-
5,
44-
{"Photon", "K0", "Lambda", "Phi", "Rho"}},
45-
"Pair cuts on various particles"};
46-
//Configurable<float> cfgTwoTrackCut{"cfgTwoTrackCut", -1, {"Two track cut"}};
47-
ConfigurableAxis axisVertex{"axisVertex", {7, -7, 7}, "vertex axis for histograms"};
48-
ConfigurableAxis axisDeltaPhi{"axisDeltaPhi", {72, -constants::math::PIHalf, constants::math::PIHalf * 3}, "delta phi axis for histograms"};
49-
ConfigurableAxis axisDeltaEta{"axisDeltaEta", {40, -2, 2}, "delta eta axis for histograms"};
50-
ConfigurableAxis axisPtTrigger{"axisPtTrigger", {VARIABLE_WIDTH, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 10.0}, "pt trigger axis for histograms"};
51-
ConfigurableAxis axisPtAssoc{"axisPtAssoc", {VARIABLE_WIDTH, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0}, "pt associated axis for histograms"};
52-
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 100.1},"multiplicity / centrality axis for histograms"};
53-
ConfigurableAxis axisVertexEfficiency{"axisVertexEfficiency", {10, -10, 10}, "vertex axis for efficiency histograms"};
54-
ConfigurableAxis axisEtaEfficiency{"axisEtaEfficiency", {20, -1.0, 1.0}, "eta axis for efficiency histograms"};
55-
ConfigurableAxis axisPtEfficiency{"axisPtEfficiency", {VARIABLE_WIDTH, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25,2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0}, "pt axis for efficiency histograms"};
56-
57-
// Output definitions
58-
OutputObj<CorrelationContainer> same{"sameEvent"};
59-
OutputObj<CorrelationContainer> mixed{"mixedEvent"};
60-
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
61-
PairCuts mPairCuts;
62-
bool doPairCuts = false;
63-
6434
void init(InitContext&)
6535
{
6636
LOGF(info, "Starting init");
6737

68-
histos.add("yields", "multiplicity/centrality vs pT vs eta", {HistType::kTH3F, {{100, 0, 100, "/multiplicity/centrality"}, {40, 0, 20, "p_{T}"}, {100, -2, 2, "#eta"}}});
69-
histos.add("etaphi", "multiplicity/centrality vs eta vs phi", {HistType::kTH3F, {{100, 0, 100, "multiplicity/centrality"}, {100, -2, 2, "#eta"}, {200, 0, 2 * M_PI, "#varphi"}}});
70-
71-
const int maxMixBin = axisMultiplicity->size() * axisVertex->size();
72-
histos.add("eventcount", "bin", {HistType::kTH1F, {{maxMixBin + 2, -2.5, -0.5 + maxMixBin, "bin"}}});
73-
mPairCuts.SetHistogramRegistry(&histos);
74-
if (cfgPairCut->get("Photon") > 0 || cfgPairCut->get("K0") > 0 || cfgPairCut->get("Lambda") > 0 ||
75-
cfgPairCut->get("Phi") > 0 || cfgPairCut->get("Rho") > 0) {
76-
mPairCuts.SetPairCut(PairCuts::Photon, cfgPairCut->get("Photon"));
77-
mPairCuts.SetPairCut(PairCuts::K0, cfgPairCut->get("K0"));
78-
mPairCuts.SetPairCut(PairCuts::Lambda, cfgPairCut->get("Lambda"));
79-
mPairCuts.SetPairCut(PairCuts::Phi, cfgPairCut->get("Phi"));
80-
mPairCuts.SetPairCut(PairCuts::Rho, cfgPairCut->get("Rho"));
81-
doPairCuts = true;
82-
}
83-
84-
std::vector<AxisSpec> corrAxis = {{axisDeltaEta, "#Delta#eta"},
85-
{axisPtAssoc, "p_{T} (GeV/c)"},
86-
{axisPtTrigger, "p_{T} (GeV/c)"},
87-
{axisMultiplicity, "multiplicity / centrality"},
88-
{axisDeltaPhi, "#Delta#varphi (rad)"},
89-
{axisVertex, "z-vtx (cm)"}};
90-
std::vector<AxisSpec> effAxis = {{axisEtaEfficiency, "#eta"},
91-
{axisEtaEfficiency, "#eta"},
92-
{axisPtEfficiency, "p_{T} (GeV/c)"},
93-
{axisVertexEfficiency, "z-vtx (cm)"}};
94-
same.setObject(new CorrelationContainer("sameEvent", "sameEvent", corrAxis, effAxis, {}));
95-
mixed.setObject(new CorrelationContainer("mixedEvent", "mixedEvent", corrAxis, effAxis, {}));
9638
LOGF(info, "Finishing init");
9739
}
9840

99-
std::vector<double> vtxBinsEdges{VARIABLE_WIDTH, -7.0f, -5.0f, -3.0f, -1.0f, 1.0f, 3.0f, 5.0f, 7.0f};
100-
std::vector<double> multBinsEdges{VARIABLE_WIDTH, 0.0f, 5.0f, 10.0f, 20.0f, 30.0f, 40.0f, 50.0f, 100.0f};
101-
SliceCache cache;
102-
103-
ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentRun2V0M> bindingOnVtxAndMult{{vtxBinsEdges, multBinsEdges}, true}; // true is for ’ignore overflows’ (true by default)
104-
105-
SameKindPair<soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>>,
106-
soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection>>,
107-
ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentRun2V0M>>
108-
pair{bindingOnVtxAndMult, 10, -1, &cache}; // indicates that 5 events should be mixed and under/overflow (-1) to be ignored
109-
110-
Filter collisionZVtxFilter = nabs(aod::collision::posZ) < cfgZVtxCut;
111-
Filter trackFilter = (nabs(aod::track::eta) < cfgEtaCut) && (aod::track::pt > cfgPtCutMin) && (aod::track::pt < cfgPtCutMax) && (requireGlobalTrackInFilter() || (aod::track::isGlobalTrackSDD == (uint8_t) true));
112-
11341
template <typename TCollision, typename TTracks>
114-
void fillQA(TCollision collision, float centrality, TTracks tracks)
42+
void fillQA(TCollision /*collision*/, float /*centrality*/, TTracks /*tracks*/)
11543
{
116-
for (auto& track: tracks) {
117-
histos.fill(HIST("yields"), centrality, track.pt(), track.eta());
118-
histos.fill(HIST("etaphi"), centrality, track.eta(), track.phi());
119-
}
12044
}
12145

12246
template <typename TTarget, typename TCollision>
123-
bool fillCollision(TTarget target, TCollision collision, float centrality)
47+
bool fillCollision(TTarget /*target*/, TCollision /*collision*/, float /*centrality*/)
12448
{
125-
target->fillEvent(centrality, CorrelationContainer::kCFStepAll);
126-
127-
if (!collision.alias_bit(kINT7) || !collision.sel7()){
128-
return false;
129-
}
130-
131-
target->fillEvent(centrality, CorrelationContainer::kCFStepReconstructed);
13249
return true;
13350
}
13451

13552
template <typename TTarget, typename TTracks>
136-
void fillCorrelations(TTarget target, TTracks tracks1, TTracks tracks2, float centrality, float posZ)
53+
void fillCorrelations(TTarget /*target*/, TTracks /*tracks1*/, TTracks /*tracks2*/, float /*centrality*/, float /*posZ*/)
13754
{
138-
for (auto& track1 : tracks1) {
139-
target->getTriggerHist()->Fill(CorrelationContainer::kCFStepReconstructed, track1.pt(), centrality, posZ, 1.0);
140-
for (auto& track2 : tracks2) {
141-
if (track1 == track2) {
142-
continue;
143-
}
144-
if (doPairCuts && mPairCuts.conversionCuts(track1, track2)) {
145-
continue;
146-
}
147-
float deltaPhi = track1.phi() - track2.phi();
148-
if (deltaPhi > 1.5f * PI) {
149-
deltaPhi -= TwoPI;
150-
}
151-
if (deltaPhi < -PIHalf) {
152-
deltaPhi += TwoPI;
153-
}
154-
target->getPairHist()->Fill(CorrelationContainer::kCFStepReconstructed,track1.eta() - track2.eta(), track2.pt(), track1.pt(), centrality, deltaPhi, posZ,1.0);
155-
}
156-
}
15755
}
15856

159-
void processSame(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>>::iterator const& collision, soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection>> const& tracks)
57+
void processSame()
16058
{
161-
const auto centrality = collision.centRun2V0M();
162-
if (fillCollision(same, collision, centrality) == false) {
163-
return;
164-
}
165-
LOGF(info, "Filling same events");
166-
histos.fill(HIST("eventcount"), -2);
167-
fillQA(collision, centrality, tracks);
168-
fillCorrelations(same, tracks, tracks, centrality, collision.posZ());
16959
}
17060

171-
PROCESS_SWITCH(firstcorrelations, processSame, "Process same event", true);
172-
173-
void processMixed(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>>::iterator const& collisions, soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection>> const& tracks)
61+
void processMixed()
17462
{
175-
for (auto& [collision1, tracks1, collision2, tracks2] : pair) {
176-
if (fillCollision(mixed, collision1, collision1.centRun2V0M()) == false) {
177-
continue;
178-
}
179-
LOGF(info, "Filling mixed events");
180-
histos.fill(HIST("eventcount"), bindingOnVtxAndMult.getBin({collision1.posZ(), collision1.centRun2V0M()}));
181-
fillCorrelations(mixed, tracks1, tracks2, collision1.centRun2V0M(), collision1.posZ());
182-
}
18363
}
184-
185-
PROCESS_SWITCH(firstcorrelations, processMixed, "Process mixed events", true);
186-
187-
void process(soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>::iterator const& collision, aod::Tracks const& tracks)
64+
void process(aod::Collision const&, aod::Tracks const&)
18865
{
189-
LOGF(info, "Received %d collisions", collision.size());
190-
191-
const auto centrality = collision.centRun2V0M();
192-
193-
if (fillCollision(same, collision, centrality) == false) {
194-
return;
195-
}
196-
histos.fill(HIST("eventcount"), -2);
197-
fillQA(collision, centrality, tracks);
19866
}
19967
};
20068

@@ -203,4 +71,4 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
20371
return WorkflowSpec{
20472
adaptAnalysisTask<firstcorrelations>(cfgc),
20573
};
206-
}
74+
}

0 commit comments

Comments
 (0)