Skip to content
Open
Show file tree
Hide file tree
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
10 changes: 3 additions & 7 deletions Common/Tools/StandardCCDBLoader.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
// ConfigurableGroup with locations
struct StandardCCDBLoaderConfigurables : o2::framework::ConfigurableGroup {
std::string prefix = "ccdb";
o2::framework::Configurable<std::string> ccdburl{"ccdb-url", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};

Check failure on line 44 in Common/Tools/StandardCCDBLoader.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)
o2::framework::Configurable<std::string> lutPath{"lutPath", "GLO/Param/MatLUT", "Path of the Lut parametrization"};
o2::framework::Configurable<std::string> grpmagPath{"grpmagPath", "GLO/Config/GRPMagField", "CCDB path of the GRPMagField object"};
o2::framework::Configurable<std::string> grpPath{"grpPath", "GLO/GRP/GRP", "Path of the grp file"};
Expand Down Expand Up @@ -90,7 +90,7 @@
} else {
LOGF(info, "GRPMagField object returned nullptr, will attempt alternate method");

o2::parameters::GRPObject* grpo = 0x0;
o2::parameters::GRPObject* grpo = nullptr;
grpo = ccdb->template getForRun<o2::parameters::GRPObject>(cGroup.grpPath.value, currentRunNumber);
if (!grpo) {
LOG(fatal) << "Alternate path failed! Got nullptr from CCDB for path " << cGroup.grpPath << " of object GRPObject for run " << currentRunNumber;
Expand All @@ -105,12 +105,8 @@
}

// load matLUT for this timestamp
if (!lut) {
LOG(info) << "Loading material look-up table for timestamp: " << currentRunNumber;
lut = o2::base::MatLayerCylSet::rectifyPtrFromFile(ccdb->template getForRun<o2::base::MatLayerCylSet>(cGroup.lutPath.value, currentRunNumber));
} else {
LOG(info) << "Material look-up table already in place. Not reloading.";
}
LOG(info) << "Loading material look-up table for timestamp: " << currentRunNumber;
lut = o2::base::MatLayerCylSet::rectifyPtrFromFile(ccdb->template getForRun<o2::base::MatLayerCylSet>(cGroup.lutPath.value, currentRunNumber));
LOG(info) << "Setting global propagator material propagation LUT";
o2::base::Propagator::Instance()->setMatLUT(lut);

Expand Down
10 changes: 9 additions & 1 deletion Common/Tools/TrackPropagationModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@

struct TrackPropagationConfigurables : o2::framework::ConfigurableGroup {
std::string prefix = "trackPropagation";
o2::framework::Configurable<float> minPropagationRadius{"minPropagationDistance", o2::constants::geom::XTPCInnerRef + 0.1, "Only tracks which are at a smaller radius will be propagated, defaults to TPC inner wall"};

Check failure on line 75 in Common/Tools/TrackPropagationModule.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)
// for TrackTuner only (MC smearing)
o2::framework::Configurable<bool> useTrackTuner{"useTrackTuner", false, "Apply track tuner corrections to MC"};
o2::framework::Configurable<bool> useTrkPid{"useTrkPid", false, "use pid in tracking"};
Expand Down Expand Up @@ -177,7 +177,7 @@
/// to understand whether the TrackTuner::getDcaGraphs function can be called here (input path from string/configurables)
/// or inside the process function, to "auto-detect" the input file based on the run number
const auto& workflows = initContext.services().template get<o2::framework::RunningWorkflowInfo const>();
for (const o2::framework::DeviceSpec& device : workflows.devices) { /// loop over devices
for (o2::framework::DeviceSpec const& device : workflows.devices) { /// loop over devices
if (device.name == "propagation-service") {
// loop over the options
// to find the value of TrackTuner::autoDetectDcaCalib
Expand Down Expand Up @@ -208,6 +208,11 @@
registry.template add<TH2>("hDCAxyVsPtMC", "hDCAxyVsPtMC", o2::framework::HistType::kTH2F, {axisBinsDCA, cGroup.axisPtQA});
registry.template add<TH2>("hDCAzVsPtRec", "hDCAzVsPtRec", o2::framework::HistType::kTH2F, {axisBinsDCA, cGroup.axisPtQA});
registry.template add<TH2>("hDCAzVsPtMC", "hDCAzVsPtMC", o2::framework::HistType::kTH2F, {axisBinsDCA, cGroup.axisPtQA});

registry.template add<TH1>("hPropagation", "hPropagation", o2::framework::HistType::kTH1D, {{3, 0.f, 3.f}});
registry.template get<TH1>(HIST("hPropagation"))->GetXaxis()->SetBinLabel(1, "All");
registry.template get<TH1>(HIST("hPropagation"))->GetXaxis()->SetBinLabel(2, Form("TracksIU, x < %g cm", cGroup.minPropagationRadius.value));
registry.template get<TH1>(HIST("hPropagation"))->GetXaxis()->SetBinLabel(3, "Propagation OK");
}

template <bool isMc, typename TConfigurableGroup, typename TCCDBLoader, typename TCollisions, typename TTracks, typename TOutputGroup, typename THistoRegistry>
Expand Down Expand Up @@ -279,6 +284,7 @@
// std::array<float, 3> trackPxPyPzTuned = {0.0, 0.0, 0.0};
double q2OverPtNew = -9999.;
// Only propagate tracks which have passed the innermost wall of the TPC (e.g. skipping loopers etc). Others fill unpropagated.
registry.fill(HIST("hPropagation"), 0.5);
if (track.trackType() == o2::aod::track::TrackIU && track.x() < cGroup.minPropagationRadius.value) {
if (fillTracksCov) {
if constexpr (isMc) { // checking MC and fillCovMat block begins
Expand All @@ -295,6 +301,7 @@
} // MC and fillCovMat block ends
}
bool isPropagationOK = true;
registry.fill(HIST("hPropagation"), 1.5);

if (track.has_collision()) {
auto const& collision = collisions.rawIteratorAt(track.collisionId());
Expand All @@ -316,6 +323,7 @@
}
if (isPropagationOK) {
trackType = o2::aod::track::Track;
registry.fill(HIST("hPropagation"), 2.5);
}
// filling some QA histograms for track tuner test purpose
if (fillTracksCov) {
Expand Down
Loading