C C GLOBAL muon finding variables c including cross references to information from individual finders C define internal array size C this should be larger than NBREMAT + NMPMATCH + NGLOMU + NMIP + NMV+Nforward C currently 10 5 2 2 + X = 19 +X INTEGER Ora_Nmumax ! maximum number of muon candidates to be stored PARAMETER (Ora_Nmumax=20) C when changing this, also change it in the ntuple definition! C define number of entries in array INTEGER Ora_Nmu ! number of muon candidates (all finders); ! information from different finders are combined into ! a single entry where possible and appropriate (e.g. ! all muons using the same CTD track), ! but a single muon can appear several times if needed; ! entries are sorted according to pt (highest pt first) C define variables INTEGER Ora_MuQual(Ora_Nmumax) ! global muon quality flag: ! 6 - excellent quality muon for high bg. samples ! e.g. BREMAT 5dof pmatch>0.01 from prim. vtx ! MPMATCH or MUFO, p>0.05 or MV ! 5 - very good quality muon for interm./high bg. samples ! e.g. all other MPMATCH/MUFO to CTD ! good quality MUFO to vertex ! noncentral BREMAT 4dof + MV ! MAMMA FMU+CAL+CTD ! noncentral BAC + MV, good quality ! all BREMAT + BAC + MV ! 4 - good quality muon for intermediate bg. samples ! e.g. BREMAT 4dof pmatch>0.01 from prim. vtx ! lesser quality MUFO to vertex ! unmatched FMU + MV ! central BAC + MV, good quality ! BAC + MIP (p>2) ! good quality BAC ! 3 - fair quality muon candidate for low bg. samples ! e.g. BREMAT 5dof pmatch>0.01 not from prim. vtx ! MV prob > 0.95 ! GLOMU + MV prob > 0.6 ! MAMMA FMU+CAL ! BAC + MV, bad quality ! BREMAT + BAC, bad quality ! GLOMU + BAC ! 2 - reasonable quality muon candidate for low bg. samples ! e.g. BREMAT 4dof pmatch>0.01 not from prim. vtx ! unmatched FMU track (MFCTS) ! MV prob > 0.8 ! GLOMU match ! reasonable quality BAC ! 1 - low quality muon candidate ! MPMATCH to CTD, pmatch<0.01 ! MV prob > 0.6 ! 0 - unknown or very low quality muon candidate ! e.g. MIP match only ! MV without track or secondary vertex or no vertex ! -1 - doubtful muon candidate ! e.g. BREMAT 5dof p<0.01 ! -2 - bad muon candidate ! e.g. BREMAT 4dof p<0.01 ! unmatched FMU track with reconstruction problem ! -3 - alternative reconstruction of muon already in list ! quality and use to be judged by user ! -999 - simulated MC prompt muon, not identified !-1000 - simulated MC pi/K decay muon, not identified INTEGER Ora_MuCharge(Ora_Nmumax) ! muon charge (was MATCH_CHARGE) ! (0 if information not available) REAL Ora_Mupt(Ora_Nmumax) ! muon pt ) from CTD only or general REAL Ora_Muth(Ora_Nmumax) ! muon theta ) tracking only, depending on REAL Ora_Muph(Ora_Nmumax) ! muon phi ) Orange settings ! type and Id of reference track see Ora_MuTrFl and Ora_MuTrId REAL Ora_Mup(3,Ora_Nmumax)! muon momentum from best available global ! fit (mostly identical to above) ! Will only be different if one of the finders performs ! a global fit including both central and muon chamber ! information (currently only MPMATCH2, see corresponding block ! for more details) (was MATCH_PX, MATCH_PY, MATCH_PZ) REAL Ora_Muperr(Ora_Nmumax) ! momentum error INTEGER Ora_MuTrFl(Ora_Nmumax) ! central tracking flag: ! 0 - not used (i.e. momentum from muon chambers only) ! 1 - momentum from VCTRHL (general or CTD only) ! 2 - momentum from VCTPAR (general or CTD only) ! 3 - momentum from VCPARSEC (general or CTD only) ! 4 - momentum from ZTTRHL (CTD+MVD) ! ... momentum from ... (CTD+MVD+vertex) ! ... momentum from ... (STT+MVD) ! ... (to be defined) INTEGER Ora_MuTrId(Ora_Nmumax) ! relevant track id (was PARID) ! (0 if information not available) INTEGER Ora_MuVcId(Ora_Nmumax) ! VCTRHL id for global reference ! (0 if information not available) ! (was/is BREMAT_ivc) INTEGER Ora_MuVtxFl(Ora_Nmumax) ! vertex flag: ! 0 - no vertex or information not available ! 1 - primary vertex ! 2 - secondary MVD vertex (heavy flavour decay candidate) !-1 - secondary vertex (e.g. K/pi decay candidate) ! ... (to be defined) (was MATCH_VTX) INTEGER Ora_MuVtxId(Ora_Nmumax) ! relevant vertex id ! (0 if information not available) C MATCH_ENDPOS -> BREMAT Block C initially, all of the following are booked (A), later they should be booked C only if corresponding finder is activated: (0-6 cards) INTEGER Ora_MuGLOMU(Ora_Nmumax) ! muon found by GLOMU: ! 0 - no 1,2 -> entry in GLOMU block INTEGER Ora_MuBREMAT(Ora_Nmumax) ! muon found by BREMAT: ! 0 - no >0 -> entry in BREMAT block INTEGER Ora_MuMUBAC(Ora_Nmumax) ! muon matched to BAC: ! 0 - no >0 -> entry in MUBAC block INTEGER Ora_MuMAMMA(Ora_Nmumax) ! muon found by MAMMA: ! 0 - no, 1 CTD+CAL, 2 CAL only -> FM block INTEGER Ora_MuMPMAT(Ora_Nmumax) ! muon found by MPMATCH2: ! 0 - no >0 -> entry in MPMATCH2 block INTEGER Ora_MuMUFO(Ora_Nmumax) ! muon found by MUFO: ! 0 - no >0 -> entry in MUFO block INTEGER Ora_MuMIP(Ora_Nmumax) ! muon found by CAL MIP: ! 0 - no 1,2 -> entry in MIP muon block INTEGER Ora_MuMV(Ora_Nmumax) ! muon found by MV finder: ! 0 - no >0 -> entry in MV block C for each of these: positive -> good muon or quality unknown (default) C negative -> marginal muon (only if distinction is made) C initially, all of the following are booked (A), later they should be booked C only if at least one CAL-based finder or ZUFO correction is activated: INTEGER Ora_MuCalFl(Ora_Nmumax) ! zufo cal isolation flag ! 0 - no zufo cal/isolation information ! 1 - compatible with MIP for ZUFO (-> use track only) !-1 - larger than MIP (nonisolated) -> calculated MIP ! deposit to be subtracted for additional ZUFO ! (for nonisolated muon, BREMAT or MPMATCH) INTEGER Ora_MuZufId(Ora_Nmumax) ! id of muon zufo object REAL Ora_MuPmip(Ora_Nmumax) ! MV CAL mip probability REAL Ora_MuHene(Ora_Nmumax) ! HES energy deposition (from MV) C initially, all of the following are booked (A), later they should be booked C only if at least one BRMU or FMU based finder is activated: C (BRMU and FMU are mutually exclusive) INTEGER Ora_MuChFl(Ora_Nmumax) ! BRMUON or FMUON chamber info used? ! (BREMAT/MPMATCH2/MUFO take preference over GLOMU/MAMMA) ! 0 - no ! 1 - inner BRMUO only ! 2 - outer BRMUO only (e.g. bottom) ! 3 - both ! 4 - FMUO match with CTD track ! 5 - FMUO match with promary vertex ! 6 - FMUO track without central tracking information INTEGER Ora_MuChId(Ora_Nmumax) ! id of relevant BRMUON or FMUON object REAL Ora_MuPmat(Ora_Nmumax) ! matching probability ! 5 dof if available, 4 dof or 0. otherwise C initially, all of the following are booked (A), later they should be booked C only if at least one BAC based finder is activated: C (Extensions to BREMAT, MPMATCH2) (was/is BREMAT_imu) INTEGER Ora_MuBACFl(Ora_Nmumax) ! BAC used? ! 0 - no ! > 0 yes, mode INTEGER Ora_MuBACId(Ora_Nmumax) ! id of relevant BAC object (MUBAC) C Jet association extension (if B activated): INTEGER Ora_MuJetFl(Ora_Nmumax) ! Flag for kind of jet association ! 0 - none ! 1 - kt, mu in jet ! 2 - kt, mu not in jet ! 3 - Delta R, mu in jet ! 4 - Delta R, mu not in jet INTEGER Ora_MuJetId(Ora_Nmumax) ! Id of associated jet REAL Ora_MuJetDR(Ora_Nmumax) ! Delta R or other distance variable REAL Ora_MuJetPt(Ora_Nmumax) ! ptrel C MC info extension (if C activated): C dynamic copy of MC part of so far private BREMAT MATCH block INTEGER Ora_MuHjet_Id(Ora_Nmumax)! NUMBER OF ASSOCIATED HAD. LEV. JET INTEGER Ora_MuIck(Ora_Nmumax) ! FMCKIN ID OF ASSOCIATED PARTICLE INTEGER Ora_MuPartyp(Ora_Nmumax) ! FMCKIN PARTICLE TYPE OF ASSOC. PART. REAL Ora_MuMC_P(4,Ora_Nmumax) ! TRUE MUON 4-MOMENTUM FROM FMCKIN INTEGER Ora_MuDirtyp(Ora_Nmumax) ! FMCKIN PARTICLE TYPE OF DIRECT PARENT REAL Ora_MuMC_D(4,Ora_Nmumax) ! DIRECT PARENT 4-MOMENTUM FROM FMCKIN INTEGER Ora_MuQtyp(Ora_Nmumax) ! FMCKIN PARTICLE TYPE OF PARENT QUARK REAL Ora_MuMC_Q(4,Ora_Nmumax) ! QUARK PARENT 4-MOMENTUM FROM FMCKIN C global muon common COMMON /Ora_DATA_GMUO/ +Ora_Nmu, +Ora_MuQual, +Ora_MuCharge, +Ora_Mupt, +Ora_Muth, +Ora_Muph, +Ora_Mup, +Ora_Muperr, +Ora_MuTrFl, +Ora_MuTrId, +Ora_MuVcId, +Ora_MuVtxFl, +Ora_MuVtxId, +Ora_MuGLOMU, +Ora_MuBREMAT, +Ora_MuMUBAC, +Ora_MuMAMMA, +Ora_MuMPMAT, +Ora_MuMUFO, +Ora_MuMIP, +Ora_MuMV, +Ora_MuCalFl, +Ora_MuZufId, +Ora_MuPmip, +Ora_MuHene, +Ora_MuChFl, +Ora_MuChId, +Ora_MuPmat, +Ora_MuBACFl, +Ora_MuBACId, +Ora_MuJetFl, ! first variable for GMU_JET +Ora_MuJetId, +Ora_MuJetDR, +Ora_Mujetpt, +Ora_MuHjet_Id, ! only makes sense if both GMU_JET and GMU_MC are on +Ora_MuIck, ! first variable for GMU_MC +Ora_MuPartyp, +Ora_MuMC_P, +Ora_MuDirtyp, +Ora_MuMC_D, +Ora_MuQtyp, +Ora_MuMC_Q c