@@ -130,6 +130,8 @@ struct multiplicityPercentile {
130130 SliceCache cache;
131131 // Services
132132 Service<o2::ccdb::BasicCCDBManager> ccdb;
133+ Service<o2::framework::O2DatabasePDG> pdg;
134+
133135
134136
135137 // Multiplicity tables
@@ -178,6 +180,10 @@ struct multiplicityPercentile {
178180
179181
180182// Configuration
183+ Configurable<bool > produceHistograms{" produceHistograms" , false , {" Option to produce debug histograms" }};
184+ Configurable<bool > autoSetupFromMetadata{" autoSetupFromMetadata" , true , {" Autosetup the Run 2 and Run 3 processing from the metadata" }};
185+
186+
181187struct : ConfigurableGroup {
182188 Configurable<std::string> ccdbUrl{" ccdbUrl" , " http://alice-ccdb.cern.ch" , " The CCDB endpoint url address" };
183189 Configurable<std::string> ccdbPath{" ccdbPath" , " Centrality/Estimators" , " The CCDB path for centrality/multiplicity information" };
@@ -187,4 +193,52 @@ struct : ConfigurableGroup {
187193 } ccdbConfig;
188194
189195
196+ // Configurable multiplicity
197+ struct : ConfigurableGroup {
198+ Configurable<int > doVertexZeq{" doVertexZeq" , 1 , " if 1: do vertex Z eq mult table" };
199+ Configurable<float > fractionOfEvents{" fractionOfEvents" , 2.0 , " Fractions of events to keep in case the QA is used" };
200+ } multiplicityConfig;
201+
202+
203+
204+
205+
206+ // Configurable multiplicity
207+ struct : ConfigurableGroup {
208+
209+ } centralityConfig;
210+
211+ int mRunNumber ;
212+ bool lCalibLoaded;
213+ TList* lCalibObjects;
214+ TProfile* hVtxZFV0A;
215+ TProfile* hVtxZFT0A;
216+ TProfile* hVtxZFT0C;
217+ TProfile* hVtxZFDDA;
218+
219+ TProfile* hVtxZFDDC;
220+ TProfile* hVtxZNTracks;
221+ std::vector<int > mEnabledTables ; // Vector of enabled tables
222+
223+ // Debug output
224+ HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::QAObject};
225+ OutputObj<TList> listCalib{" calib-list" , OutputObjHandlingPolicy::QAObject};
226+
227+ unsigned int randomSeed = 0 ;
228+ void init (InitContext& context)
229+ {
230+ }
231+
232+ using Run2Tracks = soa::Join<aod::Tracks, aod::TracksExtra>;
233+ Partition<Run2Tracks> run2tracklets = (aod::track::trackType == static_cast <uint8_t >(o2::aod::track::TrackTypeEnum::Run2Tracklet));
234+ Partition<Run2Tracks> tracksWithTPC = (aod::track::tpcNClsFindable > (uint8_t )0 );
235+ Partition<Run2Tracks> pvContribTracks = (nabs(aod::track::eta) < 0 .8f ) && ((aod::track::flags & static_cast <uint32_t >(o2::aod::track::PVContributor)) == static_cast <uint32_t >(o2::aod::track::PVContributor));
236+ Partition<Run2Tracks> pvContribTracksEta1 = (nabs(aod::track::eta) < 1 .0f ) && ((aod::track::flags & static_cast <uint32_t >(o2::aod::track::PVContributor)) == static_cast <uint32_t >(o2::aod::track::PVContributor));
237+ Preslice<aod::Tracks> perCol = aod::track::collisionId;
238+ Preslice<aod::TracksIU> perColIU = aod::track::collisionId;
239+ Preslice<aod::MFTTracks> perCollisionMFT = o2::aod::fwdtrack::collisionId;
240+
241+ using BCsWithRun3Matchings = soa::Join<aod::BCs, aod::Timestamps, aod::Run3MatchedToBCSparse>;
242+
243+
190244}
0 commit comments