Skip to content

Commit d9fe682

Browse files
committed
new class
1 parent 3b3d755 commit d9fe682

File tree

1 file changed

+73
-60
lines changed

1 file changed

+73
-60
lines changed

PWGCF/Tasks/AliJO2Analysis.cxx

Lines changed: 73 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
/// \author Dong Jo Kim (djkim@jyu.fi)
12+
/// \since Sep 2022
113

214
#include "Framework/runDataProcessing.h"
315
#include "Framework/AnalysisTask.h"
@@ -6,7 +18,6 @@
618
#include "Framework/RunningWorkflowInfo.h"
719
#include "Framework/HistogramRegistry.h"
820

9-
1021
#include "Common/DataModel/EventSelection.h"
1122
#include "Common/Core/TrackSelection.h"
1223
#include "Common/DataModel/TrackSelectionTables.h"
@@ -22,65 +33,67 @@ using namespace o2::framework::expressions;
2233

2334
#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable<TYPE> NAME{#NAME, DEFAULT, HELP};
2435

25-
class JFlucAnalysis{
26-
public:
27-
~JFlucAnalysis(){
28-
delete pcf;
29-
}
30-
31-
O2_DEFINE_CONFIGURABLE(etamin,double,0.4,"Minimal eta for tracks");
32-
O2_DEFINE_CONFIGURABLE(etamax,double,0.8,"Maximal eta for tracks");
33-
34-
//OutputObj<TDirectory> output{TDirectory("jflucO2","jflucO2","",0)};
35-
OutputObj<TDirectory> output{"jflucO2"};
36-
37-
void init(InitContext const &ic){
38-
//
39-
fInputList.reserve(2500);
40-
41-
pcf = new AliJFFlucAnalysis("jflucAnalysis");
42-
pcf->SetNumBins(sizeof(jflucCentBins)/sizeof(jflucCentBins[0]));
43-
pcf->AddFlags(AliJFFlucAnalysis::FLUC_EBE_WEIGHTING);
44-
45-
output->cd();
46-
pcf->UserCreateOutputObjects();
47-
}
48-
49-
//void process(aod::Collision const& collision, aod::ParticleTrack const& tracks){
50-
//void process(soa::Join<aod::Collisions, aod::CentV0Ms>::iterator const& collision, aod::ParticleTrack const& tracks){
51-
void process(soa::Join<aod::Collisions, aod::CollisionData>::iterator const& collision, aod::ParticleTrack const& tracks){
52-
if(tracks.size() == 0)
53-
return; //rejected event
54-
fInputList.clear();
55-
56-
for(auto &track : tracks){
57-
fInputList.emplace_back();
58-
PtEtaPhiEVector &t = fInputList.back();
59-
60-
//ptrack->SetLabel(ntrack);
61-
//ptrack->SetParticleType(0);
62-
t.SetPt(track.pt());
63-
t.SetEta(track.eta());
64-
t.SetPhi(track.phi());
65-
}
66-
67-
const double fVertex[3] = {collision.posX(),collision.posY(),collision.posZ()};
68-
69-
pcf->Init();
70-
pcf->SetInputList(&fInputList);
71-
pcf->SetEventCentralityAndBin(collision.cent(),collision.cbin());
72-
pcf->SetEventVertex(fVertex);
73-
pcf->SetEtaRange(etamin,etamax);
74-
pcf->UserExec("");
75-
76-
}
77-
std::vector<PtEtaPhiEVector> fInputList;
78-
AliJFFlucAnalysis *pcf;
36+
class JFlucAnalysis
37+
{
38+
public:
39+
~JFlucAnalysis()
40+
{
41+
delete pcf;
42+
}
43+
44+
O2_DEFINE_CONFIGURABLE(etamin, double, 0.4, "Minimal eta for tracks");
45+
O2_DEFINE_CONFIGURABLE(etamax, double, 0.8, "Maximal eta for tracks");
46+
47+
// OutputObj<TDirectory> output{TDirectory("jflucO2","jflucO2","",0)};
48+
OutputObj<TDirectory> output{"jflucO2"};
49+
50+
void init(InitContext const& ic)
51+
{
52+
//
53+
fInputList.reserve(2500);
54+
55+
pcf = new AliJFFlucAnalysis("jflucAnalysis");
56+
pcf->SetNumBins(sizeof(jflucCentBins) / sizeof(jflucCentBins[0]));
57+
pcf->AddFlags(AliJFFlucAnalysis::FLUC_EBE_WEIGHTING);
58+
59+
output->cd();
60+
pcf->UserCreateOutputObjects();
61+
}
62+
63+
// void process(aod::Collision const& collision, aod::ParticleTrack const& tracks){
64+
// void process(soa::Join<aod::Collisions, aod::CentV0Ms>::iterator const& collision, aod::ParticleTrack const& tracks){
65+
void process(soa::Join<aod::Collisions, aod::CollisionData>::iterator const& collision, aod::ParticleTrack const& tracks)
66+
{
67+
if (tracks.size() == 0)
68+
return; // rejected event
69+
fInputList.clear();
70+
71+
for (auto& track : tracks) {
72+
fInputList.emplace_back();
73+
PtEtaPhiEVector& t = fInputList.back();
74+
75+
// ptrack->SetLabel(ntrack);
76+
// ptrack->SetParticleType(0);
77+
t.SetPt(track.pt());
78+
t.SetEta(track.eta());
79+
t.SetPhi(track.phi());
80+
}
81+
82+
const double fVertex[3] = {collision.posX(), collision.posY(), collision.posZ()};
83+
84+
pcf->Init();
85+
pcf->SetInputList(&fInputList);
86+
pcf->SetEventCentralityAndBin(collision.cent(), collision.cbin());
87+
pcf->SetEventVertex(fVertex);
88+
pcf->SetEtaRange(etamin, etamax);
89+
pcf->UserExec("");
90+
}
91+
std::vector<PtEtaPhiEVector> fInputList;
92+
AliJFFlucAnalysis* pcf;
7993
};
8094

81-
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc){
82-
return WorkflowSpec{
83-
adaptAnalysisTask<JFlucAnalysis>(cfgc)
84-
};
95+
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
96+
{
97+
return WorkflowSpec{
98+
adaptAnalysisTask<JFlucAnalysis>(cfgc)};
8599
}
86-

0 commit comments

Comments
 (0)