CONTAINS THE PARAMETERS /DATA/ HARD CODED CONDITIONS OF SHW PLEASE UPDATE BY ADDING A LINE WITH NAME AND DATE April 02, 2001 ------------------------------------------------------------------------- General comments 1) typobj coming out of shw_recon : typobj = 0 photon , = 1 electron, = 2 muon, = 3 tau, = 4 jet, = 5 heavy stable ------------------------------------------------------------------------- ------------------------ppntinit.f--------------------------------------- --- subroutine ppntinit parameter(ngenmax=1000) parameter(nrecmax=100) parameter(ntramax=500) parameter(nclmax=500) parameter(ntrimax=50) c parameter(njetmax=30) c parameter(nclumax=30) -------------------------------------------------------------------------- ------------------------shw_library.f------------------------------------- -------------------------------------------------------------------------- ---subroutine shw_hbook_init c ihsize used for paw parameter(ihsize=1000000) -------------------------------------------------------------------------- ---subroutine shw_find_photon_electron_trig parameter(eta_max=2.0,et_min=10.0,hadem_max=0.125) parameter(trig_fideff=0.90) -------------------------------------------------------------------------- --- subroutine shw_find_muon_trig parameter (muon_trig_eff=0.98) ! random guess...does not include track eff. conditions: -- . et_gen(ihep).ge.3.0 .and. ! ET > 3 GeV -- if (abs(eta_gen(ihep)).lt.2.0) then ! |eta| < 2.0 -------------------------------------------------------------------------- --- subroutine shw_find_tau_trig data ptcut / 5.0 / data etacut / 1.5 / data etcut / 10.0 / data isocut / 5.0 / data nisocut / 0 / c index to HEPEVT tau, if there is one nearby if (dgen.lt.0.4) then -------------------------------------------------------------------------- ---subroutine shw_track_assoc(eta,phi,iseed,n10,ptmax,niso,ptmaxiso) c minimum pt for a track to be counted in the isolation angle parameter (ptmin = 1.5) c cluster angle in phi around the seed track parameter (angclu = 10. / degtorad) c isolation angle in phi around the seed track (beyond angclu) parameter (angiso = 30. / degtorad) -------------------------------------------------------------------------- --- subroutine shw_find_jet_trig parameter(jet_et_thresh=10.) ! 10 GeV jet ET threshold -------------------------------------------------------------------------- ---subroutine shw_find_met_trig parameter(met_thresh=10.) parameter(met_resolution=0.2) ! 20% MET resolution? -------------------------------------------------------------------------- ---subroutine shw_find_tracks parameter (min_track_pt = 0.30) ! minimum track pt ??? need parameter (eff_track = 0.98) ! track efficiency these parameter (eta_max_track = 1.5) ! maximum tracking coverage numbers ??? --------------------------------------------------------------------------- --- subroutine shw_track_res(p,q,pnew,qnew) parameter (rmax=1.0) ! radial extent of tracking parameter (B=2.0) ! in Tesla parameter(sagitta_resolution=0.000040) ! 40 microns ------------------------------------------------------------------------------ ---subroutine shw_fill_cal parameter (crack_frac=0.05) ! calorimeter crack fraction parameter (pt_min_charged=0.300) ! to hit calorimeter c is it electromagnetic? ecal_frac = 0.99 ! measured from Monte Carlo single electrons e_ecal = ecal_frac * e e_hcal = (1.0-ecal_frac) * e e_ecal = e_ecal + 0.2*sqrt(e_ecal)*res_ecal ! 20%/sqrt(E) e_hcal = e_hcal + 0.8*sqrt(e_hcal)*res_hcal ! 80%/sqrt(E) mu_ecal = 0.5 ! estimated from Monte Carlo (approx.) mu_hcal = 2.0 ! estimated from Monte Carlo (approx.) c ... must be hadronic ecal_frac = 0.25 ! 25% of energy in electromagnetic ecal_frac = ecal_frac + 0.05*r1 ! ...with some spread in fraction... if(ranf().lt.0.5) ecal_frac = 0. ! ...but only half the time does this occur e_ecal = ecal_frac * e e_hcal = (1.0-ecal_frac) * e e_ecal = e_ecal + 0.8*sqrt(e_ecal)*res_ecal ! 80%/sqrt(E) for hadrons e_hcal = e_hcal + 0.8*sqrt(e_hcal)*res_hcal ! 80%/sqrt(E) ------------------------------------------------------------------------------ --- subroutine shw_find_clusters parameter(seed_thresh=3.0) ! ET threshold for seed parameter(shoulder_thresh=0.5) ! ET threshold to add more towers data conesize/0.4/ ! cone size in eta-phi: user can ! change this during initialization ----------------------------------------------------------------------------- --- subroutine shw_find_photon_electron parameter(eta_max=2.0,et_min=10.0,hadem_max=0.125) parameter(et_iso_ratio=0.10,pt_iso_max=5.0) parameter(ntr_iso_max=1,pt_trk_max=1.0) parameter(ep_min=0.50,ep_max=1.50) parameter(fideff=0.85,offline_eff=0.85) c these are the isolation sums call shw_trk_isosum(eta,phi,0.4d0,ptiso,nsum,ptmax,itrmax) c this finds the electron track and further isolation for photons call shw_trk_isosum(eta,phi,0.15d0,ptsum,niso,ptetrk,ietrk) --- subroutine shw_trk_isosum(eta,phi,r,ptsum,nsum,ptmax,itrmax) c minimum pt for a track to be counted in the isolation angle c fill HEPEVT particle index call shw_eta_phi_hep_match(eta,phi, 1 et/2.0,22,0,indobj(numobj)) ------------------------------------------------------------------------------ subroutine shw_trk_isosum(eta,phi,r,ptsum,nsum,ptmax,itrmax) parameter (ptmin = 0.5) ------------------------------------------------------------------------------ --- subroutine shw_find_muons if (isthep(ihep).eq.1 .and. ! final state particle . et_gen(ihep).ge.3.0 .and. ! ET > 3 GeV . abs(idhep(ihep)).eq.13) then ! it's a muon if (abs(eta_gen(ihep)).lt.2.0) then ! |eta| < 2.0 c look for nearby tracks in 30-degree cone; record leading track if (ct.gt.0.866) then ----------------------------------------------------------------------------- WARNING was called initially function shw_muo_eff(v4 --- real*8 function shw_muo_eff_run1(v4) fid_eff_central = 1.0 fid_eff_cmx = 0.95 fid_eff_imu = 0.75 c CHR 13/12/99 change for run I D0 parameters if (abs(eta).gt.1.7) then else if (abs(eta).lt.0.6) then else if (abs(eta).ge.0.6.and.abs(eta).lt.1.0) then else if (abs(eta).ge.1.0.and.abs(eta).lt.2.) then shw_muo_eff_run1 = 0.91*fid_eff_imu c now apply a sort of phi efficiency in addition shw_muo_eff_run1=0.5 if (abs(eta).gt.1.7) shw_muo_eff_run1=0. rlim1=45.*3.14159/180. rlim2=135.*3.14159/180. rlim3=225.*3.14159/180. rlim4=315.*3.14159/180. ------------------------------------------------------------------------------ WARNING : check that function is used (see preceeding function) real*8 function shw_muo_eff(v4) fid_eff_central = 1.0 fid_eff_cmx = 0.95 fid_eff_imu = 0.75 c CHR 04/08/99 change of etalimit 1.5--->2 if (abs(eta).gt.1.5) then ------- else if (abs(eta).lt.0.6) then shw_muo_eff = 0.92*fid_eff_central else if (abs(eta).ge.0.6.and.abs(eta).lt.1.0) then shw_muo_eff = 0.91*fid_eff_cmx c else if (abs(eta).ge.1.0.and.abs(eta).lt.1.5) then else if (abs(eta).ge.1.0.and.abs(eta).lt.2.) then shw_muo_eff = 0.91*fid_eff_imu --------------------------------------------------------------------------- --- subroutine shw_find_taus parameter(width_max=99.9) ! ??? need this number parameter(ecut_min=0.25) ! from tau study parameter(ptmin_cut=5.0) ! " " " if (abs(eta_clu(iclu)).lt.1.5) then ! |eta| < 1.5 if (et_clu(iclu).gt.10.) then ! ET > 10 GeV if (pt_trk(itrk).gt.1.0) then if (ct.gt.0.9848) then elseif (ct.gt.0.8660) then if ((n10.eq.1.or.n10.eq.3) .and. ! 1 or 3 tracks . n30.eq.0 .and. ! no tracks in isolation region ----------------------------------------------------------------------------- --- subroutine shw_find_jets parameter(z_vertex_spread=30.) parameter (max_eta_tag=2.0) ! maximum eta for jet tagging c loop over calorimeter clusters if (abs(eta_clu(iclu)).lt.4.0) then ! |eta| < 4 if (et_clu(iclu).gt.5.) then ! ET > 5 GeV if (ct.gt.0.8660) then ----------------------------------------------------------------------------- subroutine shw_jet_flavor_tags(jet,zvertex) c fiducial cuts: z vertex and jet eta if(abs(zvertex).gt.60.) return ! 60 cm z vertex fiducial cut if(abs(eta_obj(jet)).gt.max_eta_tag) return ! jet eta cut ----------------------------------------------------------------------------- WARNING seems to be identical to ....tag_b..... --- subroutine shw_tag_c_prob(type, c_in_cone, b_in_cone, . etj, etaj, phij, efftag) data pc1, pc2/0.23, 0.0012/ data pb1, pb2/0.43, 0.0031/ data pf1, pf2/0.05, 0.0/ if(abs(etaj).gt.1.0) then elseif(etj.lt.10.0) then ----------------------------------------------------------------------------- WARNING seems to be identical to ...tag_c... subroutine shw_tag_b_prob(type, c_in_cone, b_in_cone, . etj, etaj, phij, efftag) data pc1, pc2/0.23, 0.0012/ data pb1, pb2/0.43, 0.0031/ data pf1, pf2/0.05, 0.0/ if(abs(etaj).gt.1.0) then elseif(etj.lt.10.0) then ----------------------------------------------------------------------------- subroutine shw_tag_b_imp(type, c_in_cone, b_in_cone, . etj, etaj, phij, efftag) data p1, p2/0.43, 0.0031/ efftag = -0.0000554+0.000000166*etj**(2.507) ! no muon enhancement efftag = 0.173*tanh(etj/42.08) efftag = 0.57*tanh(etj/36.05) ----------------------------------------------------------------------------- subroutine shw_true_jet_type(jet,type,c_in_cone,b_in_cone) if(ct.gt.0.9397) then ! within 20 degrees ----------------------------------------------------------------------------- --- subroutine shw_heavy_eff(v4,eff,trigeff) Trigeff = 0.9 if ( abs(eta) .gt. 0.6 ) Trigeff = 0. if ( abs(pt) .lt. 15. ) Trigeff = 0. if ( bg .lt. 0.4 ) Trigeff = 0. L = 0.039 * m * exp(8.47*p/E) if ( L .lt. 150. ) Then if ( abs(eta) .gt. 1.0 ) eff = 0. if ( abs(pt) .lt. 30. ) eff = 0. if ( bg .lt. 0.4 ) eff = 0. if ( bg .gt. 0.85 ) eff = 0. ----------------------------------------------------------------------------- -----------------------------simul_interf.f-------------------------------- subroutine simul_interf parameter(nrecmax=100) parameter(ngenmax=1000) parameter(ntramax=500) parameter(nclmax=500) parameter(ntrimax=50) PARAMETER (NMXHEP=4000) -------------------------------------------------------------- n HERGWIG61.INC C New parameters added for version 6.1: C Parameter NMXRES raised to 500 PARAMETER (ZERO =0.D0, ONE =1.D0, TWO =2.D0, PARAMETER (NMXHEP=4000) C Basic parameters (and quantities derived from them) PARAMETER (NMXPAR=500) PARAMETER (MODMAX=5) PARAMETER(NMXRES=500) PARAMETER(NMXDKS=4000,NMXMOD=200) C Parameters for cluster decays (NMXCDK = max total no of cluster PARAMETER(NMXCDK=4000) PARAMETER (NMXQDK=20) C Parameters for Sudakov form factors PARAMETER (NMXSUD=1024) PARAMETER (NMXJET=200) C Parameters for minimum bias/soft underlying event PARAMETER (NMXCL=500) -------------------------------------------------------------------- -------------------------shw.inc------------------------------------ parameter (nmxhep=4000) parameter (nmxln=4000) parameter (ntrkmx=500) parameter(pi=3.141592654) parameter (nphical=28) parameter (netacal=80) parameter(deta=0.1) parameter(dphi=0.224399475) ! 2.0d0*pi/float(nphical)) change if nphical changes! parameter (nclumx=50) parameter (ntrgmx=500) parameter (nobjmx=500) parameter (NMXHEP=4000) parameter (nmxln=4000)