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 PWGCF/DataModel/FemtoDerived.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2019-2022 CERN and copyright holders of ALICE O2.

Check warning on line 1 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Provide mandatory file documentation.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
Expand All @@ -8,7 +8,7 @@
// 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.

Check warning on line 11 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \file is missing, incorrect or misplaced.

Check warning on line 11 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \brief is missing, incorrect or misplaced.

Check warning on line 11 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \author is missing, incorrect or misplaced.
#ifndef PWGCF_DATAMODEL_FEMTODERIVED_H_
#define PWGCF_DATAMODEL_FEMTODERIVED_H_

Expand Down Expand Up @@ -45,9 +45,9 @@

using BitMaskType = uint32_t; //! Definition of the data type for the collision masks

DECLARE_SOA_COLUMN(BitMaskTrackOne, bitmaskTrackOne, BitMaskType); //! Bit for track one

Check warning on line 48 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(BitMaskTrackTwo, bitmaskTrackTwo, BitMaskType); //! Bit for track two

Check warning on line 49 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(BitMaskTrackThree, bitmaskTrackThree, BitMaskType); //! Bit for track three

Check warning on line 50 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.

DECLARE_SOA_COLUMN(Downsample, downsample, bool); //! Flag for downsampling
} // namespace femtodreamcollision
Expand Down Expand Up @@ -81,7 +81,7 @@

namespace mcfdcolllabel
{
DECLARE_SOA_INDEX_COLUMN(FDMCCollision, fdMCCollision); //! MC collision for femtodreamcollision

Check warning on line 84 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
}
DECLARE_SOA_TABLE_STAGED(FDMCCollLabels, "FDMCCollLabel", mcfdcolllabel::FDMCCollisionId);

Expand Down Expand Up @@ -122,13 +122,13 @@

static constexpr std::string_view TrackTypeName[kNTrackTypes] = {"Trk", "Pos", "Neg", "Bach"}; //! Naming of the different particle types

DECLARE_SOA_INDEX_COLUMN(FDCollision, fdCollision);

Check warning on line 125 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(Pt, pt, float); //! p_T (GeV/c)
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi
DECLARE_SOA_COLUMN(PartType, partType, uint8_t); //! Type of the particle, according to femtodreamparticle::ParticleType
DECLARE_SOA_COLUMN(Cut, cut, cutContainerType); //! Bit-wise container for the different selection criteria
DECLARE_SOA_COLUMN(PIDCut, pidcut, cutContainerType); //! Bit-wise container for the different PID selection criteria \todo since bit-masking cannot be done yet with filters we use a second field for the PID

Check warning on line 131 in PWGCF/DataModel/FemtoDerived.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(TempFitVar, tempFitVar, float); //! Observable for the template fitting (Track: DCA_xy, V0: CPA)
DECLARE_SOA_SELF_ARRAY_INDEX_COLUMN(Children, children); //! Field for the track indices to remove auto-correlations
DECLARE_SOA_COLUMN(MLambda, mLambda, float); //! The invariant mass of V0 candidate, assuming lambda
Expand Down Expand Up @@ -192,14 +192,14 @@
DECLARE_SOA_COLUMN(DecayVtxY, decayVtxY, float); //! Y position of the decay vertex
DECLARE_SOA_COLUMN(DecayVtxZ, decayVtxZ, float); //! Z position of the decay vertex
DECLARE_SOA_COLUMN(MKaon, mKaon, float); //! The invariant mass of V0 candidate, assuming kaon
//Here the cascade specific collums
// Here the cascade specific collums
DECLARE_SOA_COLUMN(CascV0DCAtoPV, cascV0DCAtoPV, float); //! DCA of the daughter V0 to the primar vertex
DECLARE_SOA_COLUMN(CascDaughDCA, cascDaughDCA, float); //! DCA between daughters
DECLARE_SOA_COLUMN(CascTransRadius, cascTransRadius, float); //! Transverse radius of the decay vertex of the cascade
DECLARE_SOA_COLUMN(CascDecayVtxX, cascDecayVtxX, float); //! X position of the decay vertex of the cascade
DECLARE_SOA_COLUMN(CascDecayVtxY, cascDecayVtxY, float); //! Y position of the decay vertex of the cascade
DECLARE_SOA_COLUMN(CascDecayVtxZ, cascDecayVtxZ, float); //! Z position of the decay vertex of the cascade
DECLARE_SOA_COLUMN(MOmega, mOmega, float); //! The invariant mass of Cascade candidate, assuming Omega
DECLARE_SOA_COLUMN(MOmega, mOmega, float); //! The invariant mass of Cascade candidate, assuming Omega
} // namespace femtodreamparticle

namespace fdhf
Expand Down
5 changes: 1 addition & 4 deletions PWGCF/FemtoDream/Core/femtoDreamCascadeSelection.h
Original file line number Diff line number Diff line change
Expand Up @@ -486,9 +486,6 @@ bool FemtoDreamCascadeSelection::isSelectedMinimal(Col const& col, Casc const& c
const float invMass = isCascOmega ? cascade.mOmega() : cascade.mXi();
// const float invMass = cascade.mXi();




if (invMassLambda < fV0InvMassLowLimit || invMassLambda > fV0InvMassUpLimit) {
return false;
}
Expand Down Expand Up @@ -562,7 +559,7 @@ bool FemtoDreamCascadeSelection::isSelectedMinimal(Col const& col, Casc const& c
if (!BachDaughTrack.isSelectedMinimal(bachTrack)) {
return false;
}

return true;
}

Expand Down
4 changes: 2 additions & 2 deletions PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,11 @@ class FemtoDreamCollisionSelection
}
return true;
}

template <typename C, typename Casc, typename CascC, typename T>
bool isCollisionWithoutTrkCasc(C const& col, Casc const& Cascades, CascC& CascadeCuts, T const& /*Tracks*/)
{
// check if there is no selected Cascade
// check if there is no selected Cascade
for (auto const& Cascade : Cascades) {
auto postrack = Cascade.template posTrack_as<T>();
auto negtrack = Cascade.template negTrack_as<T>();
Expand Down
10 changes: 5 additions & 5 deletions PWGCF/FemtoDream/Core/femtoDreamMath.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,11 @@ class FemtoDreamMath
template <typename T1>
static float getInvMassCascade(const T1& trackpos, const float masspos, const T1& trackneg, const float massneg, const T1& trackbach, const float massbach, const float massv0)
{
//calculate the invariant mass
const ROOT::Math::PtEtaPhiMVector posDaug(trackpos.pt(), trackpos.eta(), trackpos.phi(), masspos);
const ROOT::Math::PtEtaPhiMVector negDaug(trackneg.pt(), trackneg.eta(), trackneg.phi(), massneg);
const ROOT::Math::PtEtaPhiMVector bachDaug(trackbach.pt(), trackbach.eta(), trackbach.phi(), massbach);
const ROOT::Math::PxPyPzMVector v0(posDaug.Px()+negDaug.Px(), posDaug.Py()+negDaug.Py(), posDaug.Pz()+negDaug.Pz(), massv0);
// calculate the invariant mass
const ROOT::Math::PtEtaPhiMVector posDaug(trackpos.pt(), trackpos.eta(), trackpos.phi(), masspos);
const ROOT::Math::PtEtaPhiMVector negDaug(trackneg.pt(), trackneg.eta(), trackneg.phi(), massneg);
const ROOT::Math::PtEtaPhiMVector bachDaug(trackbach.pt(), trackbach.eta(), trackbach.phi(), massbach);
const ROOT::Math::PxPyPzMVector v0(posDaug.Px() + negDaug.Px(), posDaug.Py() + negDaug.Py(), posDaug.Pz() + negDaug.Pz(), massv0);
const ROOT::Math::PxPyPzMVector casc = v0 + bachDaug;

return casc.M();
Expand Down
28 changes: 14 additions & 14 deletions PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -442,18 +442,18 @@ struct femtoDreamProducerTask {
-999., -999., -999., -999., -999., -999., -999.);
}
} else {
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
particle.dcaV0daughters(),
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
particle.dcaV0daughters(),
particle.v0radius(),
particle.x(),
particle.y(),
particle.z(),
particle.mK0Short(),
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
}
}

Expand Down Expand Up @@ -801,13 +801,13 @@ struct femtoDreamProducerTask {
if (ConfIsDebug.value) {
fillDebugParticle<true, false>(Daughter1.at(iDaug1)); // QA for positive daughter
fillDebugParticle<true, false>(Daughter2.at(iDaug2)); // QA for negative daughter
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
-999., -999., -999., -999., -999., -999., // V0 properties
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
-999., -999., -999., -999., -999., -999., // V0 properties
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ struct femtoDreamProducerTaskWithCascades {
Configurable<std::vector<float>> ConfCascBachelorDCAMin{"ConfCascBachelorDCAMin", std::vector<float>{0.05f, 0.06f}, "Cascade Bachelor sel: Max. DCA Daugh to PV (cm)"};
Configurable<std::vector<float>> ConfCascBachelorPIDnSigmaMax{"ConfCascBachelorPIDnSigmaMax", std::vector<float>{5.f, 4.f}, "Cascade Bachelor sel: Max. PID nSigma TPC"};
Configurable<std::vector<int>> ConfCascBachelorPIDspecies{"ConfCascBachelorPIDspecies", std::vector<int>{o2::track::PID::Pion}, "Cascade Bachelor sel: Particles species for PID"};

Configurable<bool> ConfCascRejectCompetingMass{"ConfCascRejectCompetingMass", false, "Switch on to reject Omegas (for Xi) or Xis (for Omegas)"};
Configurable<float> ConfCascInvCompetingMassLowLimit{"ConfCascInvCompetingMassLowLimit", 1.66, "Lower limit of the cascade invariant mass for competing mass rejection"};
Configurable<float> ConfCascInvCompetingMassUpLimit{"ConfCascInvCompetingMassUpLimit", 1.68, "Upper limit of the cascade invariant mass for competing mass rejection"};
Expand Down Expand Up @@ -415,7 +415,7 @@ struct femtoDreamProducerTaskWithCascades {
cascadeCuts.init<aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor, aod::femtodreamparticle::cutContainerType>(&qaRegistry, &CascadeRegistry, ConfCascSel.ConfCascIsSelectedOmega);
cascadeCuts.setInvMassLimits(ConfCascSel.ConfCascInvMassLowLimit, ConfCascSel.ConfCascInvMassUpLimit);
cascadeCuts.setV0InvMassLimits(ConfCascSel.ConfCascV0InvMassLowLimit, ConfCascSel.ConfCascV0InvMassUpLimit);
if(ConfCascSel.ConfCascRejectCompetingMass){
if (ConfCascSel.ConfCascRejectCompetingMass) {
cascadeCuts.setCompetingInvMassLimits(ConfCascSel.ConfCascInvCompetingMassLowLimit, ConfCascSel.ConfCascInvCompetingMassUpLimit);
}
}
Expand Down Expand Up @@ -545,35 +545,35 @@ struct femtoDreamProducerTaskWithCascades {
-999., -999., -999., -999., -999., -999., -999.);
}
} else {
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
particle.dcaV0daughters(),
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
particle.dcaV0daughters(),
particle.v0radius(),
particle.x(),
particle.y(),
particle.z(),
particle.mK0Short(),
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
}
}

template <typename ParticleType, typename CollisionType>
void fillDebugCascade(ParticleType const& cascade, CollisionType const &col)
void fillDebugCascade(ParticleType const& cascade, CollisionType const& col)
{
outputDebugParts(cascade.sign(), // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
outputDebugParts(cascade.sign(), // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
cascade.dcaV0daughters(),
cascade.v0radius(),
-999., // DecVtxV0 x
-999., // DecVtxV0 y
-999., // DecVtxV0 z
-999., //mKaon
-999., // mKaon
cascade.dcav0topv(col.posX(), col.posY(), col.posZ()),
cascade.dcacascdaughters(),
cascade.cascradius(),
Expand Down Expand Up @@ -694,7 +694,7 @@ struct femtoDreamProducerTaskWithCascades {
if (!colCuts.isSelectedCollision(col)) {
return;
}
bool emptyCollision = false;
bool emptyCollision = false;
if (ConfIsActivateCascade.value) {
if (colCuts.isEmptyCollision(col, tracks, trackCuts) && colCuts.isCollisionWithoutTrkCasc(col, fullCascades, cascadeCuts, tracks)) {
emptyCollision = true;
Expand All @@ -709,7 +709,7 @@ struct femtoDreamProducerTaskWithCascades {
emptyCollision = true;
}
}
if (emptyCollision){
if (emptyCollision) {
return;
}

Expand Down Expand Up @@ -1041,15 +1041,15 @@ struct femtoDreamProducerTaskWithCascades {
tempPhi.M(),
tempPhi.M());
if (ConfIsDebug.value) {
fillDebugParticle<true, false>(Daughter1.at(iDaug1)); // QA for positive daughter
fillDebugParticle<true, false>(Daughter2.at(iDaug2)); // QA for negative daughter
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
-999., -999., -999., -999., -999., -999., // V0 properties
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
fillDebugParticle<true, false>(Daughter1.at(iDaug1)); // QA for positive daughter
fillDebugParticle<true, false>(Daughter2.at(iDaug2)); // QA for negative daughter
outputDebugParts(-999., // sign
-999., -999., -999., -999., -999., -999., -999., -999., -999., // track properties (DCA, NCls, crossed rows, etc.)
-999., -999., -999., -999., -999., -999., -999., -999., // TPC PID (TPC signal + particle hypothesis)
-999., -999., -999., -999., -999., -999., -999., // TOF PID
-999., -999., -999., -999., -999., -999., -999., -999., // ITS PID
-999., -999., -999., -999., -999., -999., // V0 properties
-999., -999., -999., -999., -999., -999., -999.); // Cascade properties
}
}
}
Expand Down
Loading
Loading