Double_t single_mich_t(Double_t *t, Double_t *par) // single Michel 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 sigma = 2; // gate edge resolution, ns if ( t[0] > pg_start && t[0] < pg_close ) { if ( t[0]>0. ) // causality yield = exp( -t[0]/tau_mu) - exp(-t[0]/tau_pi); return par[0]*yield; } // end if else if ( t[0] > pg_close && fabs(-t[0]+pg_close)< 3*sigma ) { yield = ( exp( -pg_close/tau_mu) - exp(-pg_close/tau_pi) ) * exp( -0.5*(-t[0]+pg_close)*(-t[0]+pg_close)/(sigma*sigma) ); return par[0]*yield; } // end else if else return yield ; }