@@ -1381,34 +1381,47 @@ template <typename TrackObject>
13811381void fillNSigmaHistos (TrackObject const & track)
13821382{
13831383
1384- float actualTPCNSigmaEl = track.tpcNSigmaEl ();
1385- float actualTPCNSigmaPi = track.tpcNSigmaPi ();
1386- float actualTPCNSigmaKa = track.tpcNSigmaKa ();
1387- float actualTPCNSigmaPr = track.tpcNSigmaPr ();
1384+ float actualTPCNSigma[kIdBfNoOfSpecies ];
1385+
1386+ actualTPCNSigma[kIdBfElectron ] = track.tpcNSigmaEl ();
1387+ actualTPCNSigma[kIdBfPion ] = track.tpcNSigmaPi ();
1388+ actualTPCNSigma[kIdBfKaon ] = track.tpcNSigmaKa ();
1389+ actualTPCNSigma[kIdBfProton ] = track.tpcNSigmaPr ();
1390+
1391+ float actualTOFNSigma[kIdBfNoOfSpecies ];
1392+
1393+ actualTOFNSigma[kIdBfElectron ] = track.tofNSigmaEl ();
1394+ actualTOFNSigma[kIdBfPion ] = track.tofNSigmaPi ();
1395+ actualTOFNSigma[kIdBfKaon ] = track.tofNSigmaKa ();
1396+ actualTOFNSigma[kIdBfProton ] = track.tofNSigmaPr ();
13881397
13891398 if (loadfromccdb) {
1390- actualTPCNSigmaEl = actualTPCNSigmaEl - fhNSigmaCorrection[kIdBfElectron ]->GetBinContent (fhNSigmaCorrection[kIdBfElectron ]->FindBin (track.tpcInnerParam ()));
1391- actualTPCNSigmaPi = actualTPCNSigmaPi - fhNSigmaCorrection[kIdBfPion ]->GetBinContent (fhNSigmaCorrection[kIdBfPion ]->FindBin (track.tpcInnerParam ()));
1392- actualTPCNSigmaKa = actualTPCNSigmaKa - fhNSigmaCorrection[kIdBfKaon ]->GetBinContent (fhNSigmaCorrection[kIdBfKaon ]->FindBin (track.tpcInnerParam ()));
1393- actualTPCNSigmaPr = actualTPCNSigmaPr - fhNSigmaCorrection[kIdBfProton ]->GetBinContent (fhNSigmaCorrection[kIdBfProton ]->FindBin (track.tpcInnerParam ()));
1399+ actualTPCNSigma[ kIdBfElectron ] = actualTPCNSigma[ kIdBfElectron ] - fhNSigmaCorrection[kIdBfElectron ]->GetBinContent (fhNSigmaCorrection[kIdBfElectron ]->FindBin (track.tpcInnerParam ()));
1400+ actualTPCNSigma[ kIdBfPion ] = actualTPCNSigma[ kIdBfPion ] - fhNSigmaCorrection[kIdBfPion ]->GetBinContent (fhNSigmaCorrection[kIdBfPion ]->FindBin (track.tpcInnerParam ()));
1401+ actualTPCNSigma[ kIdBfKaon ] = actualTPCNSigma[ kIdBfKaon ] - fhNSigmaCorrection[kIdBfKaon ]->GetBinContent (fhNSigmaCorrection[kIdBfKaon ]->FindBin (track.tpcInnerParam ()));
1402+ actualTPCNSigma[ kIdBfProton ] = actualTPCNSigma[ kIdBfProton ] - fhNSigmaCorrection[kIdBfProton ]->GetBinContent (fhNSigmaCorrection[kIdBfProton ]->FindBin (track.tpcInnerParam ()));
13941403 }
13951404
1396- fhNSigmaTPC[kIdBfElectron ]->Fill (actualTPCNSigmaEl , track.tpcInnerParam ());
1397- fhNSigmaTPC[kIdBfPion ]->Fill (actualTPCNSigmaPi , track.tpcInnerParam ());
1398- fhNSigmaTPC[kIdBfKaon ]->Fill (actualTPCNSigmaKa , track.tpcInnerParam ());
1399- fhNSigmaTPC[kIdBfProton ]->Fill (actualTPCNSigmaPr , track.tpcInnerParam ());
1405+ fhNSigmaTPC[kIdBfElectron ]->Fill (actualTPCNSigma[ kIdBfElectron ] , track.tpcInnerParam ());
1406+ fhNSigmaTPC[kIdBfPion ]->Fill (actualTPCNSigma[ kIdBfPion ] , track.tpcInnerParam ());
1407+ fhNSigmaTPC[kIdBfKaon ]->Fill (actualTPCNSigma[ kIdBfKaon ] , track.tpcInnerParam ());
1408+ fhNSigmaTPC[kIdBfProton ]->Fill (actualTPCNSigma[ kIdBfProton ] , track.tpcInnerParam ());
14001409
1401- fhNSigmaTOF[kIdBfElectron ]->Fill (track. tofNSigmaEl () , track.tpcInnerParam ());
1402- fhNSigmaTOF[kIdBfPion ]->Fill (track. tofNSigmaPi () , track.tpcInnerParam ());
1410+ fhNSigmaTOF[kIdBfElectron ]->Fill (actualTOFNSigma[ kIdBfElectron ] , track.tpcInnerParam ());
1411+ fhNSigmaTOF[kIdBfPion ]->Fill (actualTOFNSigma[ kIdBfPion ] , track.tpcInnerParam ());
14031412 fhNSigmaTOF[kIdBfKaon ]->Fill (track.tofNSigmaKa (), track.tpcInnerParam ());
14041413 fhNSigmaTOF[kIdBfProton ]->Fill (track.tofNSigmaPr (), track.tpcInnerParam ());
14051414
1406- fhNSigmaCombo[kIdBfElectron ]->Fill (sqrtf (track. tofNSigmaEl () * track. tofNSigmaEl () + actualTPCNSigmaEl * actualTPCNSigmaEl ), track.tpcInnerParam ());
1407- fhNSigmaCombo[kIdBfPion ]->Fill (sqrtf (track. tofNSigmaPi () * track. tofNSigmaPi () + actualTPCNSigmaPi * actualTPCNSigmaPi ), track.tpcInnerParam ());
1408- fhNSigmaCombo[kIdBfKaon ]->Fill (sqrtf (track. tofNSigmaKa () * track. tofNSigmaKa () + actualTPCNSigmaKa * actualTPCNSigmaKa ), track.tpcInnerParam ());
1409- fhNSigmaCombo[kIdBfProton ]->Fill (sqrtf (track. tofNSigmaPr () * track. tofNSigmaPr () + actualTPCNSigmaPr * actualTPCNSigmaPr ), track.tpcInnerParam ());
1415+ fhNSigmaCombo[kIdBfElectron ]->Fill (sqrtf (actualTOFNSigma[ kIdBfElectron ] * actualTOFNSigma[ kIdBfElectron ] + actualTPCNSigma[ kIdBfElectron ] * actualTPCNSigma[ kIdBfElectron ] ), track.tpcInnerParam ());
1416+ fhNSigmaCombo[kIdBfPion ]->Fill (sqrtf (actualTOFNSigma[ kIdBfPion ] * actualTOFNSigma[ kIdBfPion ] + actualTPCNSigma[ kIdBfPion ] * actualTPCNSigma[ kIdBfPion ] ), track.tpcInnerParam ());
1417+ fhNSigmaCombo[kIdBfKaon ]->Fill (sqrtf (actualTOFNSigma[ kIdBfKaon ] * actualTOFNSigma[ kIdBfKaon ] + actualTPCNSigma[ kIdBfKaon ] * actualTPCNSigma[ kIdBfKaon ] ), track.tpcInnerParam ());
1418+ fhNSigmaCombo[kIdBfProton ]->Fill (sqrtf (actualTOFNSigma[ kIdBfProton ] * actualTOFNSigma[ kIdBfProton ] + actualTPCNSigma[ kIdBfProton ] * actualTPCNSigma[ kIdBfProton ] ), track.tpcInnerParam ());
14101419}
14111420
1421+ // / \brief Identifies the passed track with TPC and TOF data
1422+ // / \param track the track of interest
1423+ // / \return the internal track id, -1 if not accepted
1424+
14121425template <typename TrackObject>
14131426inline MatchRecoGenSpecies IdentifiedBfFilterTracks::identifyTrack (TrackObject const & track)
14141427{
@@ -1518,10 +1531,7 @@ inline MatchRecoGenSpecies IdentifiedBfFilterTracks::identifyTrack(TrackObject c
15181531// / \brief Accepts or not the passed track
15191532// / \param track the track of interest
15201533// / \return the internal track id, -1 if not accepted
1521- // / TODO: the PID implementation
1522- // / For the time being we keep the convention
1523- // / - positive track pid even
1524- // / - negative track pid odd
1534+
15251535template <typename TrackObject>
15261536inline int8_t IdentifiedBfFilterTracks::acceptTrack (TrackObject const & track)
15271537{
0 commit comments