### TABLE OF CONTENTS

## /InvMassesAnalysis [ Modules ]

NAME

module **InvMassesAnalysis**

PURPOSE

Provides routines to produce histograms of the invariant mass distributions of pi+N,pi+pi,N+N pairs in the final particle vector.

Used by HiPionAnalysis and HiLeptonAnalysis

## InvMassesAnalysis/InvMasses_INIT [ Subroutines ]

[ Top ] [ InvMassesAnalysis ] [ Subroutines ]

NAME

subroutine **InvMasses_INIT**

PURPOSE

Initialize the histograms to be used in this module

## InvMassesAnalysis/InvMasses_Write [ Subroutines ]

[ Top ] [ InvMassesAnalysis ] [ Subroutines ]

NAME

subroutine **InvMasses_Write** (mul)

PURPOSE

Write out the histograms

INPUTS

- real, intent(in) :: mul -- multiplicative factor for writing histograms

## InvMassesAnalysis/partClass [ Functions ]

[ Top ] [ InvMassesAnalysis ] [ Functions ]

NAME

integer function **partClass**(ID,IZ,anti)

PURPOSE

Put a particle in the classes: "pi-","pi0","pi+","n ","p "

## InvMassesAnalysis/InvMasses_FillEvent [ Subroutines ]

[ Top ] [ InvMassesAnalysis ] [ Subroutines ]

NAME

subroutine **InvMasses_FillEvent**(L)

PURPOSE

Given one event, this routine calculates all possible invariant masses and fills the corresponding histograms.

INPUTS

- type(tAnaEvent) :: L -- the event to analyse

NOTES

- At the moment this routine does not respect the acceptance of any detector. We would have to find a way to give these weights as an additional argument to the routine. (A direct call to some routine, as done before directly in the module HiLeptonAnalysis, is not appropriate.)

It could e.g. be done as for 'FindRho0': allocate(Probs(EventArr(i,j)%particleList%nEntries)) pNode => EventArr(i,j)%particleList%first Probs = 0 ii = 1 do while (ASSOCIATED(pNode)) call checkCuts(pNode%V,nu,Q2,Ebeam,phi_Lepton,AccFlag,AccWeight) Probs(ii) = AccWeight pNode=>pNode%next ii=ii+1 end do