Skip to content
Merged
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
2 changes: 1 addition & 1 deletion PWGUD/DataModel/UDTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ DECLARE_SOA_TABLE(UDTracksExtra, "AOD", "UDTRACKEXTRA",
track::HasTRD<udtrack::DetectorMap>,
track::HasTOF<udtrack::DetectorMap>,
track::v001::ITSNCls<track::ITSClusterSizes>,
track::v001::ITSClusterMap<track::ITSClusterSizes>,
track::v001::ITSClusterMap<track::ITSClusterSizes>,
track::TPCNClsCrossedRows<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>);

DECLARE_SOA_TABLE(UDTracksDCA, "AOD", "UDTRACKDCA",
Expand Down
71 changes: 36 additions & 35 deletions PWGUD/Tasks/upcTauCentralBarrelRL.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ struct UpcTauCentralBarrelRL {
Configurable<bool> cutMyGTdcaXYusePt{"cutMyGTdcaXYusePt", false, {"MyGlobalTrack cut"}};
Configurable<int> cutMyGTitsNClsMin{"cutMyGTitsNClsMin", 1, {"MyGlobalTrack cut"}};
Configurable<float> cutMyGTitsChi2NclMax{"cutMyGTitsChi2NclMax", 36.f, {"MyGlobalTrack cut"}};
Configurable<int> cutMyGTitsHitsRule{"cutMyGTitsHitsRule", 0, {"MyGlobalTrack cut"}};
Configurable<int> cutMyGTitsHitsRule{"cutMyGTitsHitsRule", 0, {"MyGlobalTrack cut"}};
Configurable<int> cutMyGTtpcNClsMin{"cutMyGTtpcNClsMin", 1, {"MyGlobalTrack cut"}};
Configurable<int> cutMyGTtpcNClsCrossedRowsMin{"cutMyGTtpcNClsCrossedRowsMin", 70, {"MyGlobalTrack cut"}};
Configurable<float> cutMyGTtpcNClsCrossedRowsOverNClsMin{"cutMyGTtpcNClsCrossedRowsOverNClsMin", 0.8f, {"MyGlobalTrack cut"}};
Expand All @@ -154,7 +154,7 @@ struct UpcTauCentralBarrelRL {
// init
void init(InitContext&)
{
mySetITShitsRule(cutMyGTitsHitsRule);
mySetITShitsRule(cutMyGTitsHitsRule);

if (verboseInfo)
printLargeMessage("INIT METHOD");
Expand Down Expand Up @@ -421,36 +421,37 @@ struct UpcTauCentralBarrelRL {

} // end run

std::vector<std::pair<int8_t, std::set<uint8_t>>> cutMyRequiredITSHits{};

void mySetRequireHitsInITSLayers(int8_t minNRequiredHits, std::set<uint8_t> requiredLayers)
{
// layer 0 corresponds to the the innermost ITS layer
cutMyRequiredITSHits.push_back(std::make_pair(minNRequiredHits, requiredLayers));
}

void mySetITShitsRule(int matching){
switch (matching) {
case 0: //Run3ITSibAny
mySetRequireHitsInITSLayers(1, {0, 1, 2});
break;
case 1: //Run3ITSibTwo
mySetRequireHitsInITSLayers(2, {0, 1, 2});
break;
case 2: //Run3ITSallAny
mySetRequireHitsInITSLayers(1, {0, 1, 2, 3, 4, 5, 6});
break;
case 3: //Run3ITSall7Layers
mySetRequireHitsInITSLayers(7, {0, 1, 2, 3, 4, 5, 6});
break;
default:
LOG(fatal) << "You chose wrong ITS matching";
break;
}
}

bool isFulfillsITSHitRequirementsReinstatement(uint8_t itsClusterMap) const
{
std::vector<std::pair<int8_t, std::set<uint8_t>>> cutMyRequiredITSHits{};

void mySetRequireHitsInITSLayers(int8_t minNRequiredHits, std::set<uint8_t> requiredLayers)
{
// layer 0 corresponds to the the innermost ITS layer
cutMyRequiredITSHits.push_back(std::make_pair(minNRequiredHits, requiredLayers));
}

void mySetITShitsRule(int matching)
{
switch (matching) {
case 0: // Run3ITSibAny
mySetRequireHitsInITSLayers(1, {0, 1, 2});
break;
case 1: // Run3ITSibTwo
mySetRequireHitsInITSLayers(2, {0, 1, 2});
break;
case 2: // Run3ITSallAny
mySetRequireHitsInITSLayers(1, {0, 1, 2, 3, 4, 5, 6});
break;
case 3: // Run3ITSall7Layers
mySetRequireHitsInITSLayers(7, {0, 1, 2, 3, 4, 5, 6});
break;
default:
LOG(fatal) << "You chose wrong ITS matching";
break;
}
}

bool isFulfillsITSHitRequirementsReinstatement(uint8_t itsClusterMap) const
{
constexpr uint8_t bit = 1;
for (auto& itsRequirement : cutMyRequiredITSHits) {
auto hits = std::count_if(itsRequirement.second.begin(), itsRequirement.second.end(), [&](auto&& requiredLayer) { return itsClusterMap & (bit << requiredLayer); });
Expand All @@ -461,7 +462,7 @@ struct UpcTauCentralBarrelRL {
}
}
return true;
}
}

template <typename T>
bool isGlobalTrackReinstatement(T const& track)
Expand Down Expand Up @@ -492,8 +493,8 @@ struct UpcTauCentralBarrelRL {
return false;
if (track.itsChi2NCl() > cutMyGTitsChi2NclMax)
return false;
if (!isFulfillsITSHitRequirementsReinstatement(track.itsClusterMap()))
return false;
if (!isFulfillsITSHitRequirementsReinstatement(track.itsClusterMap()))
return false;
// TPC
if (!track.hasTPC())
return false; // TPC refit
Expand Down