Cut in inv mass of leptons not working correctly
Hello,
I am trying to generate a p p > mu+ vm [QCD] event at NLO with cuts in mll. I have included :
60.0 = mll ! Min inv. mass of all opposite sign lepton pairs
60.0 = mll_sf ! Min inv. mass of all opp. sign same-flavor lepton pairs
in the run card and have made a custom cut in max mll:
['/Users/
This is the dummy_fct.f file:
logical function dummy_cuts(
implicit none
include 'nexternal.inc'
include 'run.inc'
include 'cuts.inc'
integer istatus(nexternal)
integer ipdg(nexternal)
double precision p(0:4,nexternal)
REAL*8 R2_04, invm2_04, pt_04, eta_04, pt, eta
external R2_04, invm2_04, pt_04, eta_04, pt, eta
double precision dot
external dot
logical is_a_lp_
double precision mll_max, mll_cut
integer i, j
mll_max = 120d0
C-- Loop over all reco leptons: lp vs lm
do i = nincoming+1, nexternal
if (is_a_lp_reco(i)) then
do j = nincoming+1, nexternal
if (is_a_lm_reco(j)) then
enddo
endif
enddo
dummy_cuts = .true.
return
end
However, when I launch the process and plot the mll using this analysis file:
c
c Example analysis for "p p > e+ ve [QCD]" process.
c Example analysis for "p p > e- ve~ [QCD]" process.
c Example analysis for "p p > mu+ vm [QCD]" process.
c Example analysis for "p p > mu- vm~ [QCD]" process.
c Example analysis for "p p > ta+ vt [QCD]" process.
c Example analysis for "p p > ta- vt~ [QCD]" process.
c
ccccccccccccccc
subroutine analysis_
ccccccccccccccc
implicit none
integer nwgt
character*(*) weights_info(*)
integer i,kk,l
character*6 cc(2)
data cc/'|T@NLO','|T@LO '/
call HwU_inithist(
do i=1,2
l=(i-1)*3
call HwU_book(l+1,'total rate '//cc(i), 1,0.5d0,1.5d0)
call HwU_book(l+2,'lep rapidity '//cc(i), 10,2d0,4.5d0)
call HwU_book(
enddo
return
end
ccccccccccccccc
subroutine analysis_end(dummy)
ccccccccccccccc
implicit none
double precision dummy
call HwU_write_file
return
end
ccccccccccccccc
subroutine analysis_
ccccccccccccccc
implicit none
include 'nexternal.inc'
integer istatus(nexternal)
integer iPDG(nexternal)
double precision p(0:4,nexternal)
double precision wgts(*)
integer ibody
double precision wgt,var
integer i,kk,l
double precision pw(0:3)
double precision getrapidity, getinvm
external getrapidity, getinvm
double precision mll, dot
external dot
if (nexternal.ne.5) then
write (*,*) 'error #1 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
stop 1
endif
if (.not. (abs(ipdg(1)).le.4 .or. ipdg(1).eq.21)) then
write (*,*) 'error #2 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
stop 1
endif
if (.not. (abs(ipdg(2)).le.4 .or. ipdg(2).eq.21)) then
write (*,*) 'error #3 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
stop 1
endif
if (.not. (abs(ipdg(5)).le.4 .or. ipdg(5).eq.21)) then
write (*,*) 'error #4 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
stop 1
endif
if( (abs(abs(
& (sign(1d0,
& (abs(ipdg(
& (abs(ipdg(
endif
do i=0,3
else
endif
enddo
ye = abs(getrapidity
var = 1.d0
mll = sqrt(max(0d0, (pe(0)+pn(0))**2 - (pe(1)+pn(1))**2 - (pe(2)+pn(2))**2 - (pe(3)+pn(3))**2))
do i=1,2
l=(i-1)*3
if (ibody.ne.3 .and.i.eq.2) cycle
call HwU_fill(
call HwU_fill(
call HwU_fill(
enddo
999 return
end
function getrapidity(en,pl)
implicit none
real*8 getrapidity,
parameter (tiny=1.d-8)
xplus=en+pl
xminus=en-pl
if(
if( (xplus/
else
endif
else
endif
getrapidity=y
return
end
I don't see any cut in mll. I am not sure why this is.
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Eleanor Cole
- Solved:
- Last query:
- Last reply: