Skip to content
Closed
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
4 changes: 2 additions & 2 deletions Common/TableProducer/muonRealignment.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ struct MuonRealignment {
Configurable<std::string> geoNewPathLocal{"geoNewPathLocal", "", "Local path of the GRP object if not using CCDB"};
Configurable<int64_t> nolaterthanRef{"ccdb-no-later-than-ref", std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count(), "latest acceptable timestamp of creation for the object of reference basis"};
Configurable<int64_t> nolaterthanNew{"ccdb-no-later-than-new", std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count(), "latest acceptable timestamp of creation for the object of new basis"};
Configurable<double> cfgChamberResolutionX{"cfgChamberResolutionX", 0.04, "Chamber resolution along X configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgChamberResolutionY{"cfgChamberResolutionY", 0.04, "Chamber resolution along Y configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgChamberResolutionX{"cfgChamberResolutionX", 0.4, "Chamber resolution along X configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgChamberResolutionY{"cfgChamberResolutionY", 0.4, "Chamber resolution along Y configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgSigmaCutImprove{"cfgSigmaCutImprove", 6., "Sigma cut for track improvement"}; // 6 for pp, 4 for PbPb
Configurable<bool> fUseRemoteField{"cfgUseRemoteField", true, "Chose whether to fetch the magnetic field from ccdb or set it manually"};
Configurable<bool> fUseRemoteGeometry{"cfgUseRemoteGeometry", false, "Chose whether to fetch new geometry from ccdb or set it manually"};
Expand Down
19 changes: 18 additions & 1 deletion PWGDQ/TableProducer/tableMaker.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1123,7 +1123,24 @@ struct TableMaker {
for (const auto& muonId : fwdtrackIndices) { // start loop over tracks
auto muon = muonId.template fwdtrack_as<TMuons>();
trackFilteringTag = static_cast<uint64_t>(0);
VarManager::FillTrack<TMuonFillMap>(muon);
if constexpr (static_cast<bool>(TMuonRealignFillMap)) {
// Update muon information using realigned tracks
if (static_cast<int>(muon.trackType()) > 2) {
// Update only MCH or MCH-MID tracks with realigned information
auto muonRealignSelected = tracksMuonRealign.select(aod::fwdtrackrealign::fwdtrackId == muonId.fwdtrackId() && aod::fwdtrackrealign::collisionId == collision.globalIndex());
if (muonRealignSelected.size() == 1) {
for (const auto& muonRealign : muonRealignSelected) {
VarManager::FillTrack<TMuonRealignFillMap>(muonRealign);
}
} else {
LOGF(fatal, "Inconsistent size of realigned muon track candidates.");
}
} else {
VarManager::FillTrack<TMuonFillMap>(muon);
}
} else {
VarManager::FillTrack<TMuonFillMap>(muon);
}

if (muon.index() > idxPrev + 1) { // checks if some muons are filtered even before the skimming function
nDel += muon.index() - (idxPrev + 1);
Expand Down
14 changes: 6 additions & 8 deletions PWGDQ/Tasks/mchAlignRecord.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ struct mchAlignRecordTask {
Configurable<double> fAllowedVarZ{"variation-z", 2.0, "Allowed variation for z axis in cm"};
Configurable<double> cfgSigmaX{"cfgSigmaX", 1000., "Sigma cut along X"};
Configurable<double> cfgSigmaY{"cfgSigmaY", 1000., "Sigma cut along Y"};
Configurable<double> cfgChamberResolutionX{"cfgChamberResolutionX", 0.04, "Chamber resolution along X configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgChamberResolutionY{"cfgChamberResolutionY", 0.04, "Chamber resolution along Y configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgChamberResolutionX{"cfgChamberResolutionX", 0.4, "Chamber resolution along X configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgChamberResolutionY{"cfgChamberResolutionY", 0.4, "Chamber resolution along Y configuration for refit"}; // 0.4cm pp, 0.2cm PbPb
Configurable<double> cfgSigmaCutImprove{"cfgSigmaCutImprove", 6., "Sigma cut for track improvement"};
struct : ConfigurableGroup {
Configurable<std::vector<int>> cfgDetElem{"cfgDetElem",
Expand All @@ -129,6 +129,8 @@ struct mchAlignRecordTask {
"List of param mask for d.o.f to be fixed"};
} fFixDetElem;

Preslice<aod::FwdTrkCl> perMuon = aod::fwdtrkcl::fwdtrackId;

void init(InitContext& ic)
{

Expand Down Expand Up @@ -335,13 +337,9 @@ struct mchAlignRecordTask {
continue;
}

auto clustersSliced = clusters.sliceBy(perMuon, track.globalIndex()); // Slice clusters by muon id
// Loop over attached clusters
for (auto const& cluster : clusters) {

if (cluster.template fwdtrack_as<TTracks>() != track) {
continue;
}

for (auto const& cluster : clustersSliced) {
clIndex += 1;

mch::Cluster* mch_cluster = new mch::Cluster();
Expand Down
Loading