@@ -467,10 +467,10 @@ class pidTPCModule
467467 // Filling a std::vector<float> to be evaluated by the network
468468 // Evaluation on single tracks brings huge overhead: Thus evaluation is done on one large vector
469469 static constexpr int NParticleTypes = 9 ;
470- constexpr int expectedInputDimensionsNNV2 = 7 ;
471- constexpr int expectedInputDimensionsNNV3 = 8 ;
472- constexpr auto networkVersionV2 = " 2" ;
473- constexpr auto networkVersionV3 = " 3" ;
470+ constexpr int ExpectedInputDimensionsNNV2 = 7 ;
471+ constexpr int ExpectedInputDimensionsNNV3 = 8 ;
472+ constexpr auto NetworkVersionV2 = " 2" ;
473+ constexpr auto NetworkVersionV3 = " 3" ;
474474 for (int i = 0 ; i < NParticleTypes; i++) { // Loop over particle number for which network correction is used
475475 for (auto const & trk : tracks) {
476476 if (!trk.hasTPC ()) {
@@ -487,10 +487,10 @@ class pidTPCModule
487487 track_properties[counter_track_props + 3 ] = o2::track::pid_constants::sMasses [i];
488488 track_properties[counter_track_props + 4 ] = trk.has_collision () ? mults[trk.collisionId ()] / 11000 . : 1 .;
489489 track_properties[counter_track_props + 5 ] = std::sqrt (nNclNormalization / trk.tpcNClsFound ());
490- if (input_dimensions == expectedInputDimensionsNNV2 && networkVersion == networkVersionV2 ) {
490+ if (input_dimensions == ExpectedInputDimensionsNNV2 && networkVersion == NetworkVersionV2 ) {
491491 track_properties[counter_track_props + 6 ] = trk.has_collision () ? collisions.iteratorAt (trk.collisionId ()).ft0cOccupancyInTimeRange () / 60000 . : 1 .;
492492 }
493- if (input_dimensions == expectedInputDimensionsNNV3 && networkVersion == networkVersionV3 ) {
493+ if (input_dimensions == ExpectedInputDimensionsNNV3 && networkVersion == NetworkVersionV3 ) {
494494 track_properties[counter_track_props + 6 ] = trk.has_collision () ? collisions.iteratorAt (trk.collisionId ()).ft0cOccupancyInTimeRange () / 60000 . : 1 .;
495495 if (trk.has_collision ()) {
496496 if (collsys == CollisionSystemType::kCollSyspp ) {
@@ -567,24 +567,24 @@ class pidTPCModule
567567
568568 float nSigma = -999 .f ;
569569 float bg = trk.tpcInnerParam () / o2::track::pid_constants::sMasses [pid]; // estimated beta-gamma for network cutoff
570- constexpr int numOutputNodesSymmetricSigma = 2 ;
571- constexpr int numOutputNodesAsymmetricSigma = 3 ;
570+ constexpr int NumOutputNodesSymmetricSigma = 2 ;
571+ constexpr int NumOutputNodesAsymmetricSigma = 3 ;
572572 if (pidTPCopts.useNetworkCorrection && speciesNetworkFlags[pid] && trk.has_collision () && bg > pidTPCopts.networkBetaGammaCutoff ) {
573573
574574 // Here comes the application of the network. The output--dimensions of the network determine the application: 1: mean, 2: sigma, 3: sigma asymmetric
575575 // For now only the option 2: sigma will be used. The other options are kept if there would be demand later on
576576 if (network.getNumOutputNodes () == 1 ) { // Expected mean correction; no sigma correction
577577 nSigma = (tpcSignal - network_prediction[count_tracks + tracksForNet_size * pid] * expSignal) / expSigma;
578- } else if (network.getNumOutputNodes () == numOutputNodesSymmetricSigma ) { // Symmetric sigma correction
579- expSigma = (network_prediction[numOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[numOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid)]) * expSignal;
580- nSigma = (tpcSignal / expSignal - network_prediction[numOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid)]) / (network_prediction[numOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[numOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid)]);
581- } else if (network.getNumOutputNodes () == numOutputNodesAsymmetricSigma ) { // Asymmetric sigma corection
582- if (tpcSignal / expSignal >= network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) {
583- expSigma = (network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) * expSignal;
584- nSigma = (tpcSignal / expSignal - network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) / (network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]);
578+ } else if (network.getNumOutputNodes () == NumOutputNodesSymmetricSigma ) { // Symmetric sigma correction
579+ expSigma = (network_prediction[NumOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[NumOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid)]) * expSignal;
580+ nSigma = (tpcSignal / expSignal - network_prediction[NumOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid)]) / (network_prediction[NumOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[NumOutputNodesSymmetricSigma * (count_tracks + tracksForNet_size * pid)]);
581+ } else if (network.getNumOutputNodes () == NumOutputNodesAsymmetricSigma ) { // Asymmetric sigma corection
582+ if (tpcSignal / expSignal >= network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) {
583+ expSigma = (network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) * expSignal;
584+ nSigma = (tpcSignal / expSignal - network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) / (network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 1 ] - network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]);
585585 } else {
586- expSigma = (network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)] - network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 2 ]) * expSignal;
587- nSigma = (tpcSignal / expSignal - network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) / (network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)] - network_prediction[numOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 2 ]);
586+ expSigma = (network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)] - network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 2 ]) * expSignal;
587+ nSigma = (tpcSignal / expSignal - network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)]) / (network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid)] - network_prediction[NumOutputNodesAsymmetricSigma * (count_tracks + tracksForNet_size * pid) + 2 ]);
588588 }
589589 } else {
590590 LOGF (fatal, " Network output-dimensions incompatible!" );
0 commit comments