Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions Common/TableProducer/multiplicityExtraTable.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
#include <CCDB/BasicCCDBManager.h> // megalinter thinks this is a C header...
#include <bitset>
#include "Framework/ConfigParamSpec.h"
#include "Framework/runDataProcessing.h"
#include "Framework/AnalysisTask.h"
Expand All @@ -16,13 +18,10 @@
#include "Common/DataModel/Multiplicity.h"
#include "DataFormatsFIT/Triggers.h"
#include "TableHelper.h"

#include "CCDB/CcdbApi.h"
#include "CommonDataFormat/BunchFilling.h"
#include <CCDB/BasicCCDBManager.h>
#include "DataFormatsParameters/GRPObject.h"
#include "DataFormatsParameters/GRPLHCIFData.h"
#include <bitset>

using namespace o2;
using namespace o2::framework;
Expand All @@ -34,6 +33,12 @@ struct MultiplicityExtraTable {
Produces<aod::MultsBC> multBC;
Produces<aod::MultNeighs> multNeigh;

// Allow for downscaling of BC table for less space use in derived data
Configurable<float> bcDownscaleFactor{"bcDownscaleFactor", 2, "Downscale factor for BC table (0: save nothing, 1: save all)"};

// needed for downscale
unsigned int randomSeed = 0;

o2::ccdb::CcdbApi ccdbApi;
Service<o2::ccdb::BasicCCDBManager> ccdb;
BCPattern CollidingBunch;
Expand All @@ -43,6 +48,8 @@ struct MultiplicityExtraTable {

void init(InitContext&)
{
randomSeed = static_cast<unsigned int>(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());

ccdbApi.init("http://alice-ccdb.cern.ch");
ccdb->setURL("http://alice-ccdb.cern.ch");
ccdb->setCaching(true);
Expand All @@ -53,6 +60,11 @@ struct MultiplicityExtraTable {

void processBCs(BCsWithRun3Matchings::iterator const& bc, aod::FV0As const&, aod::FT0s const&, aod::FDDs const&, aod::Zdcs const&)
{
// downscale if requested to do so
if (bcDownscaleFactor < 1.f && (static_cast<float>(rand_r(&randomSeed)) / static_cast<float>(RAND_MAX)) > bcDownscaleFactor) {
return;
}

bool Tvx = false;
bool isFV0OrA = false;
float multFT0C = 0.f;
Expand Down