Double_t tpileup_prompt(Double_t *t, Double_t *par) // prompt proton/gamma pdf { double yield = 0.; 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= -3; n< 11; n++ ) { if ( n==0 && fabs(-t[0] + n*T)<3*sigma ) yield+ = par[1]*exp( -0.5*(-t[0] + n*T)*(-t[0] + n*T)/(sigma*sigma) ); // prompt prob if ( n!=0 && fabs(-t[0] + n*T)<3*sigma ) yield+ = exp( -0.5*(-t[0] + n*T)*(-t[0] + n*T)/(sigma*sigma) ); // prompt prob*pileup prob } // end for return par[0]*yield; } // end if else return yield; }