@@ -329,40 +329,46 @@ struct centralityStudypp {
329329 float multNTracksGlobal = collision.multNTracksGlobal ();
330330 float mftNtracks = collision.mftNtracks ();
331331 float multNTracksPV = collision.multNTracksPV ();
332+
332333 if (applyVertexZEqualization) {
333334 float epsilon = 1e-2 ; // average value after which this collision will be disregarded
334- multFV0A = -1 .0f ;
335- multFT0A = -1 .0f ;
336- multFT0C = -1 .0f ;
337- multFDDA = -1 .0f ;
338- multFDDC = -1 .0f ;
339- multNTracksGlobal = -1 .0f ;
340- mftNtracks = -1 .0f ;
341- multNTracksPV = -1 .0f ;
342-
343- if (hVtxZFV0A->Interpolate (collision.multPVz ()) > epsilon) {
344- multFV0A = hVtxZFV0A->Interpolate (0.0 ) * collision.multFV0A () / hVtxZFV0A->Interpolate (collision.multPVz ());
345- }
346- if (hVtxZFT0A->Interpolate (collision.multPVz ()) > epsilon) {
347- multFT0A = hVtxZFT0A->Interpolate (0.0 ) * collision.multFT0A () / hVtxZFT0A->Interpolate (collision.multPVz ());
348- }
349- if (hVtxZFT0C->Interpolate (collision.multPVz ()) > epsilon) {
350- multFT0C = hVtxZFT0C->Interpolate (0.0 ) * collision.multFT0C () / hVtxZFT0C->Interpolate (collision.multPVz ());
351- }
352- if (hVtxZFDDA->Interpolate (collision.multPVz ()) > epsilon) {
353- multFDDA = hVtxZFDDA->Interpolate (0.0 ) * collision.multFDDA () / hVtxZFDDA->Interpolate (collision.multPVz ());
354- }
355- if (hVtxZFDDC->Interpolate (collision.multPVz ()) > epsilon) {
356- multFDDC = hVtxZFDDC->Interpolate (0.0 ) * collision.multFDDC () / hVtxZFDDC->Interpolate (collision.multPVz ());
357- }
358- if (hVtxZNGlobals->Interpolate (collision.multPVz ()) > epsilon) {
359- multNTracksGlobal = hVtxZNGlobals->Interpolate (0.0 ) * collision.multNTracksGlobal () / hVtxZNGlobals->Interpolate (collision.multPVz ());
360- }
361- if (hVtxZMFT->Interpolate (collision.multPVz ()) > epsilon) {
362- mftNtracks = hVtxZMFT->Interpolate (0.0 ) * collision.mftNtracks () / hVtxZMFT->Interpolate (collision.multPVz ());
363- }
364- if (hVtxZNTracks->Interpolate (collision.multPVz ()) > epsilon) {
365- multNTracksPV = hVtxZNTracks->Interpolate (0.0 ) * collision.multNTracksPV () / hVtxZNTracks->Interpolate (collision.multPVz ());
335+ float maxVertexZ = 15 .0f ; // max value for any equalization attempt
336+
337+ // same defaults as multCentTable in case of unhealthy signals
338+ multFV0A = 0 .0f ;
339+ multFT0A = 0 .0f ;
340+ multFT0C = 0 .0f ;
341+ multFDDA = 0 .0f ;
342+ multFDDC = 0 .0f ;
343+ multNTracksGlobal = 0 .0f ;
344+ mftNtracks = 0 .0f ;
345+ multNTracksPV = 0 .0f ;
346+
347+ if (std::abs (collision.multPVz ()) < maxVertexZ){ // operate consistently vs multCentTable
348+ if (hVtxZFV0A->Interpolate (collision.multPVz ()) > epsilon && collision.multFV0A () > -1 .0f ) {
349+ multFV0A = hVtxZFV0A->Interpolate (0.0 ) * collision.multFV0A () / hVtxZFV0A->Interpolate (collision.multPVz ());
350+ }
351+ if (hVtxZFT0A->Interpolate (collision.multPVz ()) > epsilon && collision.multFT0A () > -1 .0f ) {
352+ multFT0A = hVtxZFT0A->Interpolate (0.0 ) * collision.multFT0A () / hVtxZFT0A->Interpolate (collision.multPVz ());
353+ }
354+ if (hVtxZFT0C->Interpolate (collision.multPVz ()) > epsilon && collision.multFT0C () > -1 .0f ) {
355+ multFT0C = hVtxZFT0C->Interpolate (0.0 ) * collision.multFT0C () / hVtxZFT0C->Interpolate (collision.multPVz ());
356+ }
357+ if (hVtxZFDDA->Interpolate (collision.multPVz ()) > epsilon && collision.multFDDA () > -1 .0f ) {
358+ multFDDA = hVtxZFDDA->Interpolate (0.0 ) * collision.multFDDA () / hVtxZFDDA->Interpolate (collision.multPVz ());
359+ }
360+ if (hVtxZFDDC->Interpolate (collision.multPVz ()) > epsilon && collision.multFDDC () > -1 .0f ) {
361+ multFDDC = hVtxZFDDC->Interpolate (0.0 ) * collision.multFDDC () / hVtxZFDDC->Interpolate (collision.multPVz ());
362+ }
363+ if (hVtxZNGlobals->Interpolate (collision.multPVz ()) > epsilon && collision.multNTracksGlobal () > -1 .0f ) {
364+ multNTracksGlobal = hVtxZNGlobals->Interpolate (0.0 ) * collision.multNTracksGlobal () / hVtxZNGlobals->Interpolate (collision.multPVz ());
365+ }
366+ if (hVtxZMFT->Interpolate (collision.multPVz ()) > epsilon && collision.mftNtracks () > -1 .0f ) {
367+ mftNtracks = hVtxZMFT->Interpolate (0.0 ) * collision.mftNtracks () / hVtxZMFT->Interpolate (collision.multPVz ());
368+ }
369+ if (hVtxZNTracks->Interpolate (collision.multPVz ()) > epsilon && collision.multNTracksPV () > -1 .0f ) {
370+ multNTracksPV = hVtxZNTracks->Interpolate (0.0 ) * collision.multNTracksPV () / hVtxZNTracks->Interpolate (collision.multPVz ());
371+ }
366372 }
367373 }
368374
0 commit comments