|
| 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 | + |
| 12 | +// Remarks: |
| 13 | +// 0. Starting with C++11, it's possible to initialize data members at declaration, so I do it here |
| 14 | +// 1. Use //!<! for introducing a Doxygen comment interpreted as transient in both ROOT 5 and ROOT 6. |
| 15 | + |
| 16 | +// a) Base list to hold all output objects ("grandmother" of all lists); |
| 17 | +// *) QA; |
| 18 | +// *) Control event histograms; |
| 19 | +// *) Particle weights; |
| 20 | + |
| 21 | +// a) Base list to hold all output objects ("grandmother" of all lists): |
| 22 | +OutputObj<TList> fBaseList{"Task => ...", OutputObjHandlingPolicy::AnalysisObject, OutputObjSourceType::OutputObjSource}; |
| 23 | +TProfile* fBasePro = NULL; //!<! keeps flags relevant for the whole analysis |
| 24 | +UInt_t fRandomSeed = 0; // argument to TRandom3 constructor. By default is 0, use SetRandomSeed(...) to change it |
| 25 | + |
| 26 | +// *) QA: |
| 27 | +TList* fQAList = NULL; //!<! base list to hold all QA output object |
| 28 | + |
| 29 | +// *) Control event histograms: |
| 30 | +TList* fControlEventHistogramsList = NULL; //!<! list to hold all control event histograms |
| 31 | +TProfile* fControlEventHistogramsPro = NULL; //!<! keeps flags relevant for the control event histograms |
| 32 | +struct ControlEventHistograms_Arrays { |
| 33 | + TH1D* fMultiplicityHist[2] = {NULL}; //!<! distribution of multiplicity [before,after event cuts] |
| 34 | +} ceh_a; // "ceh_a" labels an instance of this group of histograms, e.g. ceha_a.fMultiplicityHist[0] |
| 35 | + |
| 36 | +// *) Particle weights: |
| 37 | +TList* fWeightsList = NULL; //!<! list to hold all particle weights |
| 38 | +TProfile* fWeightsFlagsPro = NULL; //!<! profile to hold all flags for weights |
| 39 | +struct ParticleWeights_Arrays { |
| 40 | + TH1D* fWeightsHist[gWeights] = {NULL}; //!<! particle weights |
| 41 | +} pw_a; // "pw_a" labels an instance of this group of histograms, e.g. pw_a.fWeightsHist[0] |
| 42 | + |
| 43 | +// *) Results: |
| 44 | +TList* fResultsList = NULL; //!<! list to hold all results |
| 45 | +TProfile* fResultsFlagsPro = NULL; //!<! profile to hold all flags for results |
| 46 | +TH1D* fResultsHist = NULL; //!<! example histogram to store some results |
0 commit comments