Double_t tpileup_p2e(Double_t *t, Double_t *par) // p2e pileup pdf { double yield = 0.; double tau_pi = 26.03; double tau_mu = 2197.; double pg_start = -69.70; // opening of PiGate double pg_close = 222.50; // closing of PiGate double T = 19.75; // rf Period, ns double sigma = 1.; // TDC resolution, ns if ( t[0] > pg_start && t[0] < pg_close ) { for (int n= -7; n<11; n++ ) { // 5 pion lifetimes into past if ( t[0]>n*T ) // causality yield+ = exp( (-t[0] + n*T)/tau_pi); } // end for return par[0]*yield; } // end if else if ( t[0] < pg_start && fabs(t[0] - pg_start )< 3*sigma ) { for (int n= -7; n<11; n++ ) { // 5 pion lifetimes into past if ( t[0]>n*T ) // causality yield+ = exp( (-t[0] + n*T)/tau_pi); } // end for yield = yield * exp( -0.5* (t[0]- pg_start)*(t[0]- pg_start)/(sigma*sigma) ); return par[0]*yield; } // end else if else if ( t[0] > pg_close && fabs(t[0] - pg_close )< 3*sigma ) { for (int n= -7; n<11; n++ ) { // 5 pion lifetimes into past if ( t[0]>n*T ) // causality yield+ = exp( (-t[0] + n*T)/tau_pi); } // end for yield = yield * exp( -0.5* (t[0]- pg_close)*(t[0]- pg_close)/(sigma*sigma) ); return par[0]*yield; } // end else if else return yield; }