88// In applying this license CERN does not waive the privileges and immunities
99// granted to it by virtue of its status as an Intergovernmental Organization
1010// or submit itself to any jurisdiction.
11- //
12- // This code calculates output histograms for centrality calibration
13- // as well as vertex-Z dependencies of raw variables (either for calibration
14- // of vtx-Z dependencies or for the calibration of those).
15- //
16- // This task is not strictly necessary in a typical analysis workflow,
17- // except for centrality calibration! The necessary task is the multiplicity
18- // tables.
19- //
20- // Comments, suggestions, questions? Please write to:
21- // - victor.gonzalez@cern.ch
22- // - david.dobrigkeit.chinellato@cern.ch
23- //
2411
2512#include " Framework/runDataProcessing.h"
2613#include " Framework/AnalysisTask.h"
@@ -39,20 +26,33 @@ struct OTFV0Qa {
3926 // Raw multiplicities
4027 HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
4128
29+ Configurable<float > maxGammaMassForXYplot{" maxGammaMassForXYplot" , 0 .1f , " Max photon mass for XY plot" };
30+
31+ ConfigurableAxis axisNCandidates{" axisNCandidates" , {500 , 0 , 500 }, " Number of OTF v0s" };
32+ ConfigurableAxis axisPosition{" axisPosition" , {1000 , -100 , 100 }, " position (cm)" };
33+ ConfigurableAxis axisMass{" axisMass" , {100 , 0 .0f , 1 .0f }, " Mass (GeV/c2)" };
34+
4235 void init (InitContext&)
4336 {
44- const AxisSpec axisEvent{10 , 0 , 10 , " Event counter" };
45- const AxisSpec axisNCandidates{500 , 0 , 500 , " Number of OTF v0s" };
37+ const AxisSpec axisPVz{30 , -15 , 15 , " Primary vertex Z (cm)" };
4638
4739 // Base histograms
48- histos.add (" hEventCounter " , " Event counter" , kTH1F , {axisEvent });
40+ histos.add (" hPrimaryVertexZ " , " Event counter" , kTH1F , {axisPVz });
4941 histos.add (" hCandidates" , " Number of OTF V0s" , kTH1F , {axisNCandidates});
42+ histos.add (" hGammaMass" , " mass distribution" , kTH1F , {axisMass});
43+ histos.add (" h2dPosition" , " xy positions" , kTH2F , {axisPosition, axisPosition});
5044 }
5145
52- void process (aod::Collision const &, aod::Run2OTFV0s const & v0s)
46+ void process (aod::Collision const & collision , aod::Run2OTFV0s const & v0s)
5347 {
54- histos.fill (HIST (" hEventCounter " ), 0.5 );
48+ histos.fill (HIST (" hPrimaryVertexZ " ), collision. posZ () );
5549 histos.fill (HIST (" hCandidates" ), v0s.size ());
50+ for (auto const & v0 : v0s) {
51+ histos.fill (HIST (" hGammaMass" ), v0.mass ());
52+ if (v0.mass () < maxGammaMassForXYplot) {
53+ histos.fill (HIST (" h2dPosition" ), v0.x (), v0.y ());
54+ }
55+ }
5656 }
5757};
5858
0 commit comments