Skip to content

Commit 1ddec42

Browse files
committed
setting up irSource automatically using the CollisionHelper
1 parent 095feea commit 1ddec42

1 file changed

Lines changed: 36 additions & 4 deletions

File tree

Common/Tools/PID/pidTPCModule.h

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@
2424
#include "Common/CCDB/ctpRateFetcher.h"
2525
#include "Common/Core/PID/TPCPIDResponse.h"
2626
#include "Common/Core/TableHelper.h"
27+
#include "Common/Core/CollisionTypeHelper.h"
2728
#include "Common/DataModel/PIDResponseTPC.h"
2829
#include "Common/TableProducer/PID/pidTPCBase.h"
2930
#include "Tools/ML/model.h"
3031

32+
#include <DataFormatsParameters/GRPLHCIFData.h>
3133
#include <Framework/AnalysisDataModel.h>
3234
#include <Framework/AnalysisHelpers.h>
3335
#include <Framework/Configurable.h>
@@ -47,6 +49,8 @@
4749
#include <ratio>
4850
#include <string>
4951
#include <vector>
52+
std::string irSource = "-1";
53+
int collsys = -1;
5054

5155
namespace o2::aod
5256
{
@@ -127,8 +131,8 @@ struct pidTPCConfigurables : o2::framework::ConfigurableGroup {
127131
o2::framework::Configurable<int> useNetworkHe{"useNetworkHe", 1, {"Switch for applying neural network on the helium3 mass hypothesis (if network enabled) (set to 0 to disable)"}};
128132
o2::framework::Configurable<int> useNetworkAl{"useNetworkAl", 1, {"Switch for applying neural network on the alpha mass hypothesis (if network enabled) (set to 0 to disable)"}};
129133
o2::framework::Configurable<float> networkBetaGammaCutoff{"networkBetaGammaCutoff", 0.45, {"Lower value of beta-gamma to override the NN application"}};
130-
o2::framework::Configurable<std::string> irSource{"irSource", "ZNC hadronic", "Estimator of the interaction rate (Recommended: pp --> T0VTX, Pb-Pb --> ZNC hadronic)"};
131-
};
134+
o2::framework::Configurable<std::string> cfgPathGrpLhcIf{"ccdb-path-grplhcif", "GLO/Config/GRPLHCIF", "Path on the CCDB for the GRPLHCIF object"};
135+
};
132136

133137
// helper getter - FIXME should be separate
134138
int getPIDIndex(const int pdgCode) // Get O2 PID index corresponding to MC PDG code
@@ -323,6 +327,14 @@ class pidTPCModule
323327
}
324328
LOG(info) << "Successfully retrieved TPC PID object from CCDB for timestamp " << time << ", period " << headers["LPMProductionTag"] << ", recoPass " << headers["RecoPassName"];
325329
metadata["RecoPassName"] = headers["RecoPassName"]; // Force pass number for NN request to match retrieved BB
330+
o2::parameters::GRPLHCIFData* grpo = ccdb->template getForTimeStamp<o2::parameters::GRPLHCIFData>(pidTPCopts.cfgPathGrpLhcIf.value, time);
331+
LOG(info) << " collision type::" << CollisionSystemType::getCollisionTypeFromGrp(grpo);
332+
collsys = CollisionSystemType::getCollisionTypeFromGrp(grpo);
333+
if ( collsys == CollisionSystemType::kCollSyspp ) {
334+
irSource = "T0VTX";
335+
} else {
336+
irSource = "ZNC hadronic";
337+
}
326338
response->PrintAll();
327339
}
328340
}
@@ -397,6 +409,14 @@ class pidTPCModule
397409
}
398410
LOG(info) << "Successfully retrieved TPC PID object from CCDB for timestamp " << bc.timestamp() << ", period " << headers["LPMProductionTag"] << ", recoPass " << headers["RecoPassName"];
399411
metadata["RecoPassName"] = headers["RecoPassName"]; // Force pass number for NN request to match retrieved BB
412+
o2::parameters::GRPLHCIFData* grpo = ccdb->template getForTimeStamp<o2::parameters::GRPLHCIFData>(pidTPCopts.cfgPathGrpLhcIf.value, bc.timestamp());
413+
LOG(info) << "Collision type::" << CollisionSystemType::getCollisionTypeFromGrp(grpo);
414+
int collsys = CollisionSystemType::getCollisionTypeFromGrp(grpo);
415+
if (collsys == CollisionSystemType::kCollSyspp ) {
416+
irSource = "T0VTX";
417+
} else {
418+
irSource = "ZNC hadronic";
419+
}
400420
response->PrintAll();
401421
}
402422

@@ -458,10 +478,14 @@ class pidTPCModule
458478
if (trk.has_collision()) {
459479
auto trk_bc = (collisions.iteratorAt(trk.collisionId())).template bc_as<B>();
460480
if (trk_bc.timestamp() != timeStamp_bcOld) {
461-
hadronicRate = mRateFetcher.fetch(ccdb.service, trk_bc.timestamp(), trk_bc.runNumber(), pidTPCopts.irSource.value) * 1.e-3;
481+
hadronicRate = mRateFetcher.fetch(ccdb.service, trk_bc.timestamp(), trk_bc.runNumber(), irSource) * 1.e-3;
462482
}
463483
timeStamp_bcOld = trk_bc.timestamp();
464-
track_properties[counter_track_props + 7] = hadronicRate / 50.;
484+
if( collsys == CollisionSystemType::kCollSyspp ) {
485+
track_properties[counter_track_props + 7] = hadronicRate / 1500.;
486+
}else{
487+
track_properties[counter_track_props + 7] = hadronicRate / 50.;
488+
}
465489
} else {
466490
track_properties[counter_track_props + 7] = 1;
467491
}
@@ -738,6 +762,14 @@ class pidTPCModule
738762
}
739763
}
740764
LOG(info) << "Successfully retrieved TPC PID object from CCDB for timestamp " << bc.timestamp() << ", period " << headers["LPMProductionTag"] << ", recoPass " << headers["RecoPassName"];
765+
o2::parameters::GRPLHCIFData* grpo = ccdb->template getForTimeStamp<o2::parameters::GRPLHCIFData>(pidTPCopts.cfgPathGrpLhcIf.value,bc.timestamp());
766+
LOG(info) << "Collisions type::" << CollisionSystemType::getCollisionTypeFromGrp(grpo);
767+
int collsys = CollisionSystemType::getCollisionTypeFromGrp(grpo);
768+
if (collsys == CollisionSystemType::kCollSyspp ) {
769+
irSource = "T0VTX";
770+
} else {
771+
irSource = "ZNC hadronic";
772+
}
741773
response->PrintAll();
742774
}
743775

0 commit comments

Comments
 (0)