C ========================== SUBROUTINE ZES_DIFF_FILL C ========================== C C ******************************************************************** C Here the code from the diffractive group is collected. C Since we have so many subdetectors, we decided to keep the code C as modular as possibles, so that a single subroutine can be updated C quasi painless. C C ******************************************************************** C C Authors: Diff. group Nov. 1997 C C C Decks to be included: C C C +DECK, LPS_ZES. ! LPS C +DECK, FNC_EZ2. ! FNC C +DECK, tag44. ! 44M tagger C +DECK, ZES_T8. and +KEEP T8_DATA ! 8M tagger C +DECK, LUMISEL. ! LUMI C +DECK, VMSEL. and +KEEP VMVARS. ! VM part C +DECK, ZPRT. ! PRT C +DECK, ZUFODIF ! ZUFO related variables C +DECK, CELLDIF. ! CELL related variables IMPLICIT NONE INTEGER IERR C This code requires the ZES common block, here called KZES. C #include "zescommon.inc" CALL MODIN('ZES_DIFF', IERR) C C--------- C LPS code C--------- CALL LPSZES(ZES_Lpstag,ZES_Lpsxl,ZES_Lpspx,ZES_Lpspy, > ZES_Lpssta,ZES_Lpsdist,ZES_Lpschindf) C--------- C FNC code C--------- CALL FNC_EZ2(ZES_Efnc,ZES_Vetofnc,ZES_Maxtwrfnc, > ZES_Ywidthfnc,ZES_FNCFlag,Ierr) IF (IERR.NE.0) THEN ZES_Efnc = -999 ZES_Vetofnc = -999 ZES_Maxtwrfnc = 0 ZES_Ywidthfnc = -999 ZES_FNCFlag = 0 C PRINT*, 'FNC: Error in fnc_ez2. Ierr = ', Ierr END IF C--------- C 44m Tag C--------- CALL TAG44(ZES_44m_ene,ZES_44m_x) C--------- C 8m Tag C--------- CALL ZES_T8(ZES_8m_ene,ZES_8m_x) C--------- C Lumi Tag C--------- CALL LUMISEL(ZES_ELumie,ZES_XLumie,ZES_YLumie, > ZES_ELumig,ZES_XLumig,ZES_YLumig) C--------- C VM code C--------- C CALL VMsel(ZES_corr_E_si,ZES_Trkmatch_si,ZES_Ecal, C > ZES_Mtrknoe_pi,ZES_Mtrknoe_k, C > ZES_UnmEn_pi,ZES_UnmEn_k, C > ZES_Fetatr,ZES_Betatr,ZES_pt_tr, C > ZES_Empz_tr_pi,ZES_Et_tr,ZES_E_tr_pi, C > ZES_phi_tr,ierr) C--------- C PRT code C--------- CALL PRTINFO(ZES_PRT1_ene,ZES_PRT2_ene,ZES_PRTFLAG) C---------------- C ZUFO Var. C---------------- C CALL ZUFODIF(ZES_XVTX,ZES_YVTX,ZES_ZVTX, C > ZES_Fgap,ZES_Bgap,ZES_Etamax_zu, C > ZES_V_H_px_zu,ZES_V_H_py_zu, C > ZES_V_H_pz_zu,ZES_V_H_E_zu) C---------------- C CELL Var. C---------------- CALL CELLDIF(ZES_XVTX,ZES_YVTX,ZES_ZVTX, > ZES_Etamax_ce, > ZES_V_H_px_ce,ZES_V_H_py_ce, > ZES_V_H_pz_ce,ZES_V_H_E_ce, > ZES_E_FCAL,ZES_E_HK, > ZES_Efcalbp_r1,ZES_Efcalbp_r2) CALL MODOUT('ZES_DIFF') RETURN END *********************************************************