QSIM Common Blocks

ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c   FOR TRACKING
c
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
      integer max_track            ! size of array to store info on tracks
      parameter (max_track=250)

c generator level track information
      integer ntrack_gen           ! number of ISP1 banks
      real track_pt_gen            ! generator-level track pt
      real track_phi_gen           ! generator-level track phi
      real track_eta_gen           ! generator-level track eta
      real track_r_gen              ! 1=R, radius of curvature
      real track_phi0_gen           ! phi at closest approach to origin
      real track_d_gen              ! signed impact parameter
      real track_lambda_gen         ! cot(theta)
      real track_z0_gen             ! z at closest approach to origin
      real track_xc_gen             ! x at center of circle
      real track_yc_gen             !y at center of circle
      integer track_flavor_gen      ! call isajet routine flavor on pid


c after smearing track information
      integer ntrack_sm              ! number of tracks after smearing
      real track_b_sm                !smeared impact parameter
      real track_bsig_sm             !smeared impact parameter significance

c after smearing displaced vertex information
      
      integer nvtx_sm                ! number of displaced vertices
      integer vtx_nch_sm             !number of charged tracks for the vertex
      real vtx_b_sm                  ! average impact parameter
      real vtx_ptjet_sm              ! pt of jet associated with vertex
      integer vtx_flavor_sm          !call isajet routine flavor on tracks,
c                                    record highest flavor of track
c
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c  PARTICLES/MET (OTHER THAN TRACKING)
c
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

C limit on number of particles
      integer max_part             ! size of arrays to store info on particles
      parameter (max_part = 30)

c                                    associated with the vertex
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c  GENERATOR LEVEL PARTICLES/MET (EXCEPT FOR TRACKING)
c
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc  

c partons
      integer iparton1,iparton2  !susy partons from isaj bank
 
c electrons
      integer nele_gen      ! number of electrons
      integer irank_ele_gen ! pointer into electron arrays.
c                           !irank_ele_gen(1) is pointer to highest et elec, etc
      real ele_pt_gen
      real ele_eta_gen
      real ele_phi_gen
c muons
      integer nmu_gen       ! number of muons
      integer irank_muo_gen !points into muon arrays from highest pt to lowest 
      real muo_pt_gen, muo_eta_gen, muo_phi_gen
c jets
      integer njet_gen,irank_jet_gen ! rank ranks them in et ordering
      real jet_pt_gen   !sqrt of sum of variables 3+4  in pjet
      real jet_eta_gen, jet_phi_gen
      real jet_et_gen   !variable 2 in pjet
      real jet_emf_gen  !percentage of jet energy in gammas and electrons
c met
      real met_gen  !calculated excluding neutrinos and muons
      real met_phi_gen 
      real scalar_et_gen
      real met_mu_gen  !calculated only excluding neutrinos
      real met_phi_mu_gen
      real scalar_et_mu_gen
 
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c  PARTICLES/MET (OTHER THAN TRACKING) AFTER PARAMETERIZED SMEARING
c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c electrons
      integer nele_sm,irank_ele_sm  ! rank ranks them in et ordering
      real ele_pt_sm, ele_eta_sm, ele_phi_sm
      real ele_deta_sm   ! detector eta
      real ele_dr_jet    !distance between ele and its nearest jet
c                        !always a small number, since each electron
c                        ! always makes up or is part of a jet
      integer iele_jet   !pointer into jet common for nearest jet
c muons
      integer nmu_sm,irank_muo_sm ! rank ranks them in et ordering
      real muo_pt_sm, muo_eta_sm, muo_phi_sm
      real muo_deta_sm  ! detector eta
      real muo_dr_jet  ! distance between muon and its nearest jet
      integer imuo_jet  ! pointer into jet common for its nearest jet
c jets
      integer njet_sm,irank_jet_sm ! rank ranks them in et ordering
      real jet_pt_sm, jet_eta_sm, jet_phi_sm
      real jet_dr_ele    !distance between jet and its nearest electron
      integer ijet_ele   !pointer into ele common for nearest ele
      real jet_deta_sm   ! detector eta of jets
c met
      real met_sm, met_phi_sm,scalar_et_sm !without muons
      real met_mu_sm,met_phi_mu_sm,scalar_et_mu_sm !with muons

      real zvert_gen,zvert_sm

ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c  SOME VARIABLES USED FOR PARTICLE ID (LIKE ISOLATION)
c  SOME EFFICIEICIES FOR PARTICLE ID
c  
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c electrons
      integer nele_par
      real ele_par1  !E in 0.4 cone around electron -
C                    ! e from gammas and electrons is 0.2 cone
C
C  what is returned is the efficiency relative to et=25 GeV
C  for Doug Norman's wino/zino iso and chi**2 cuts on electrons
C  3 types 
C  ele_par2=loosest
C  ele_par3=medium
C  ele_par4=tight
C
      real ele_par2, ele_par3, ele_par4, ele_par5

c muons
      integer nmu_par
      real muo_par1  ! e in 0.4 cone around muon
c                   ! - e from electrons and gammas in 0.2 cone
c rest are hobbs efficiencies for run I muons as follows
c
c          2 = Loose, prezap, CF only
c          3 = Loose w/BdL, prezap, CF only
c          4 = Loose, prezap, CF or EF
c          5 = Loose w/BdL, prezap, CF or EF
c          6 = Loose, postzap
c          7 = Loose w/BdL, postzap
c          8 = Tight, prezap, CF only
c          9 = Tight w/out BdL, prezap, CF only
c         10 = Tight, prezap, CF or EF
c         11 = Tight w/out BdL, prezap, CF or EF
c         12 = Tight, postzap
c         13 = Tight w/out BdL, postzap

      real muo_par2, muo_par3, muo_par4, muo_par5
      real muo_par6, muo_par7, muo_par8, muo_par9, muo_par10
      real muo_par11, muo_par12, muo_par13, muo_par14, muo_par15


c jets
      integer njet_par
c jet_par1 = efficiency for jet to pass aida cut
c jet_par2 = vertex position of jet
      real jet_par1, jet_par2, jet_par3, jet_par4, jet_par5
      real met_par1, met_par2, met_par3, met_par4, met_par5

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c  THE COMMON BLOCKS
c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc


      common/qsimtrkgen/ntrack_gen,track_pt_gen(max_track),
     & track_phi_gen(max_track),
     & track_eta_gen(max_track),track_r_gen(max_track),
     & track_phi0_gen(max_track),track_d_gen(max_track),
     & track_lambda_gen(max_track),track_z0_gen(max_track),
     & track_xc_gen(max_track),track_yc_gen(max_track),
     & track_flavor_gen(max_track)


      common/qsimtrksm/ntrack_sm,
     & track_b_sm(max_track),track_bsig_sm(max_track)


      common /isan0/ iparton1,iparton2
      common /isan1/ nele_gen,
     & ele_pt_gen(max_part),ele_eta_gen(max_part),
     & ele_phi_gen(max_part),irank_ele_gen(max_part)
      common /isan2/ nmu_gen,
     & muo_pt_gen(max_part),muo_eta_gen(max_part),
     & muo_phi_gen(max_part),irank_muo_gen(max_part)
      common /isan3/ njet_gen,
     & jet_pt_gen(max_part),jet_eta_gen(max_part),
     & jet_phi_gen(max_part),jet_et_gen(max_part),
     & irank_jet_gen(max_part),jet_emf_gen(max_part)
      
      common/isan4/ met_gen,met_phi_gen,scalar_et_gen,
     & met_mu_gen,met_phi_mu_gen,scalar_et_mu_gen


      common /isan6/ nele_sm,
     & ele_pt_sm(max_part),ele_eta_sm(max_part),ele_phi_sm(max_part),
     & ele_deta_sm(max_part),
     & ele_dr_jet(max_part),iele_jet(max_part),irank_ele_sm(max_part)
      common /isan7/ nmu_sm,
     & muo_pt_sm(max_part),muo_eta_sm(max_part),muo_phi_sm(max_part),
     & muo_deta_sm(max_part),irank_muo_sm(max_part),
     & muo_dr_jet(max_part),imuo_jet(max_part)
      common /isan8/ njet_sm,
     & jet_pt_sm(max_part),jet_eta_sm(max_part),jet_phi_sm(max_part),
     & jet_deta_sm(max_part),jet_dr_ele(max_part),
     & ijet_ele(max_part),irank_jet_sm(max_part)
      common /isan9/ met_sm,met_phi_sm,scalar_et_sm,met_mu_sm,
     &  met_phi_mu_sm,scalar_et_mu_sm
      common/isan10/ zvert_gen,zvert_sm

      common/isan16/ nvtx_sm,vtx_nch_sm(max_part),vtx_b_sm(max_part),
     & vtx_ptjet_sm(max_part),vtx_flavor_sm(max_part)


      common /isan11/ nele_par,ele_par1(max_part),ele_par2(max_part),
     &      ele_par3(max_part),ele_par4(max_part),ele_par5(max_part)
      common /isan12/ nmu_par, muo_par1(max_part),muo_par2(max_part),
     &      muo_par3(max_part),muo_par4(max_part),muo_par5(max_part),
     &      muo_par6(max_part),muo_par7(max_part),muo_par8(max_part),
     &      muo_par9(max_part),muo_par10(max_part),muo_par11(max_part),
     &      muo_par12(max_part),muo_par13(max_part),muo_par14(max_part),
     &      muo_par15(max_part)
      common /isan13/ njet_par,jet_par1(max_part),jet_par2(max_part),
     &      jet_par3(max_part),jet_par4(max_part),jet_par5(max_part)
      common /isan14/ met_par1,met_par2,met_par3,met_par4,met_par5