Egamma trigger (and offline) information in AANT

Useful CBNT/AANT links

  • Variables in CBNT here
  • All L1 variables are described here
  • L2 Calo variables here
  • L2 ID (Inner Detector) variables here
  • Offline reconstruction here
    • Specifically for egamma offline object here
  • EF egamma variables have the same name and meaning that offline ones, but they
have an extra "_EF" at the end of the name.

L1 variables

  • L1Em_nRoI - Number of e/gamma RoIs in the event
RoI = ROI = Region Of Interest = "small part" of the detector that is used by the trigger to compute energy, momentum, etc (for a proper definition check the TDR)

  • L1Em_EmClus( L1Em_nRoI) - Em Cluster ET
  • L1Em_EmIsol( L1Em_nRoI) - Em Isolation ET sum
  • L1Em_HdIsol( L1Em_nRoI) - Outer Had Isolation ET sum
  • L1Em_HdCore( L1Em_nRoI) - Inner Had Isolation ET sum
  • L1Em_eta( L1Em_nRoI) - eta coordinate of RoI
  • L1Em_phi( L1Em_nRoI) - phi coordinate of RoI

Except the first one, all the others are vectors whose index varies between 0 and L1Em_nRoI, each index correspond to a given RoI, so you will need to do a loop (something like: for i=0, i<!L1Em_nRoI i++ plot L1Em_EmClus[i] ... etc).

Last two are spacial coordinates that identify the RoI position in the detector, the first four are the variables used to perform the L1 selection. In order for an event to pass the trigger these variables have to be above given thresholds.

Nowadays the electron/photon menu includes the following signatures: 2e15i, e25i, e60 2g20i, g60 The naming convention is the following: e = electron g = gamma (photon) The number following e/g gives the transverse energy threshold in GeV that identifies the signature. i = isolation requirements applied (Used to reject jets, in which typically you have several neighboring particles) If there is a number at the beginning means multiplicity, how many objects are required. Ex: e25i -> one isolated electron with transverse energy above 25 GeV

  1. e15i -> two isolated electrons with transverse energy above 15 GeV

The L1 selection for the e25i signature requires:

  • L1Em_EmClus > 18GeV
  • L1Em_EmIsol <= 3GeV
  • L1Em_HdIsol <= 2GeV
  • L1Em_HdCore <= 2GeV

The L1 selection for the e15i signature requires:

  • L1Em_EmClus > 11GeV
  • L1Em_EmIsol <= 3GeV
  • L1Em_HdIsol <= 2GeV
  • L1Em_HdCore <= 2GeV

Comment: To guarantee that "all" the electrons with energy above a given threshold are selected typically looser cuts are applied in the trigger for the transverse energy.

An exercise that can be done is to reproduce L1 and see how many events satisfy L1 cuts and compare it with the results obtained using Trigger Decision variables.

Comments: You want to know how many events have at least one RoI that satisfy this requirements. (There may be more than one RoI per event that satisfy the requirements).

Be careful with units, typically CBNT variables are in MeV.

L2 Calo

  • E_T (EM) = T2CaEmE /cosh(fabs( T2CaEta))
  • E_T (HAD) = T2CaHadES0 / cosh(fabs( T2CaEta))
  • R_Shape = RCore = E(3x7)/E(7x7) = T2CaRcore
  • R^Strips_eta = ERatio = ( E1stMax - E2ndMax)/( E1stMax + E2ndMax) = T2CaEratio

e25i signature:

  • E_T >= 20 GeV
  • EHAD_T <= 3.8 GeV if E_T < 90.0 GeV
  • EHAD_T <= 999.0 GeV if E_T > 90.0 GeV
  • RCore >= 0.895
  • !(badEta) && ERatio >= 0.730

where "badEta" is defined as: fabs(T2CaEta) > 2.37 || (fabs(T2CaEta) > 1.37 && fabs(T2CaEta) < 1.52)

e15i signature For this signature there are different cuts depending on the corresponding eta value Eta bins defined as: [0, 0.75, 1.5, 1.8, 2.0, 2.5]

  • E_T >= 12 GeV
  • EHAD_T <= GeV if E_T < 90.0 GeV [1.0*GeV, 1.0*GeV, 4.0*GeV, 1.5*GeV, 1.0*GeV,]
  • EHAD_T <= 999.0 GeV if E_T > 90.0 GeV
  • RCore >= [0.90, 0.89, 0.89, 0.90, 0.89]
  • !(badEta) && ERatio >= [0.60, 0.70, 0.75, 0.85, 0.90]

code: Hypothesis algorithm in which the cuts are performed:

For release 12 JobOptions file in which the actual values to perform the cuts are set:

For release 13 the actual threshold values to perform the cuts are set using configurables: Check the different instances (ex: L2CaloHypo_e15i, L2CaloHypo_e10, L2CaloHypo_e25i... etc) for the corresponding cut values.

L2 Calo+ID

L2 Calo + ID acepta los eventos que verifican Pt >= PtCut TDeta <= DetaCut TDphi <= DPhiCut EtoverPtLow <= Et/Pt <= EtoverPtHig

Se hace "matching" entre lo que ve el calorimetro y lo que ve el Inner Detector en Energia, Phi y Eta Et = Transverse energy measured in the calorimeter pt = Transverse momentum measured in the Inner Detector TDphi = Absolute value of the difference in eta between the cluster eta and the extrapolated track to the calorimeter surface TDeta = Absolute value of the difference in phi between the cluster phi and the extrapolated track to the calorimeter surface

Estas variables ustedes las obtienen de la ntupla que tienen asi: Et = T2CaEmE /cosh(fabs(T2CaEta)) pt = T2IdPt TDphi = fabs(T2IdPhic - T2CaPhi) TDeta en release 12 con ntuplas oficiales no se puede reproducir este corte. TDeta = fabs(2IdErrD0 - T2CaEta) En TDeta tenemos un problema no esta available la eta extrapolada a la superficie del calorimetro. Yo hice un hack en el codigo y la almacene en la variable T2IdErrD0 para la ntupla ntuple.zee.root, pero este no es el contenido habitual de esta variable. Con la ntuple.zee.root pueden reproducir el corte del trigger usando: TDeta = fabs(2IdErrD0 - T2CaEta) Esta variable de momento no va a estar disponible en ninguna de las ntuplas de produccion oficial con release 12. De momento yo sugiero que implemente el corte usando: TDeta = fabs(T2IdEta - T2CaEta). Si aplican este corte van a estar rechanzando mas eventos de los que deberian, asi que si quieren al principio no lo apliquen, vean cuantos eventos salen, y cuantos se pierden luego cuando lo aplican.

T2IdNtracks: El numero de trazas que vio el inner detector (sobre ellas tendran que loopear). T2IdRoiID: Numero identificador del RoI (mas adelante igual lo usamos) T2IdAlgo: Numero que identifica el Algorithmo que se utilizo para hacer el fit de la traza (2=IdScan 1=SiTrack 4=TrTxKalman) Para empezar ustedes tienen que seleccionar las trazas que verifiquen T2IdAlgo == 2

Los valores de los cortes si estan correctos en la wiki: El codigo correspondiente lo encuentran en el paquete TrigEgammaHypo

    • Release 12: jobOptions en share/
    • Release 13: configurables en python/

Event Filter (EF)

Number of egamma EF objects is given by: eg_nc_EF (which is a "long")

the ntuple variables are the ones that finish in _EF All the ones below are std::vector of dimension "eg_nc_EF"

Below i summarize the selection cuts, (specific cut values are given at the very bottom)

  • Transverse energy: The transverse energy ET calculated using the energies of all the
electromagnetic-calorimeter layers in a Delta Eta x Delta Phi =3 x 7
    • ET cluster >= ET_cut
    • ET cluster: eg_cl_et_EF

  • Difference in eta between the cluster eta and the extrapolated track to the
calorimeter surface
    • |Deta| <= Deta_cut
    • Deta: eg_deta1_EF

  • Difference in phi between the cluster phi and the extrapolated track to the
calorimeter surface * |Dphi| <= Dphi_cut * Dphi: eg_dphi2_EF

  • ET/pT of the cluster transverse energy and the pT of the track
    • if( fabs(eta) > m_etaCut){ m_lowEoPCutHighEta <= eoverp <= m_upEoPCutHighEta
} else { m_lowEoPCutLowEta <= eoverp <= m_upEoPCutLowEta } * eta: eg_cl_eta_EF * eoverp: eg_eoverp_EF

Where for e25i:

  • m_etaCut = 1.37
  • ET_cut = 22.5*GeV
  • Deta_cut = 0.0036
  • Dphi_cut = 0.037
  • m_lowEoPCutHighEta = 0.5
  • m_upEoPCutHighEta = 3.86
  • m_lowEoPCutLowEta = 0.5
  • m_upEoPCutLowEta = 2.08

Where for e15i:

  • m_etaCut = 1.37
  • ET_cut = 12.5*GeV
  • Deta_cut = 0.002
  • Dphi_cut = 0.03
  • m_lowEoPCutHighEta = 0.6
  • m_upEoPCutHighEta = 4.0
  • m_lowEoPCutLowEta = 0.8
  • m_upEoPCutLowEta = 2.5

Cut description and values are summarized in:

  • EF hypothesis algorithm were the cuts are implemented if you want to get
familiar with athena: iewcvs-markup
    • Release 12 cut values: TrigEgammaHypo package (jobOptions) share/
    • Release 13 cut values: TrigEgammaHypo package (configurables) python/

egamma offline reconstruction

Aca tiene una descripcion de las variables offline del egamma object. Aca tiene pueden encontrar informacion acerca de la identificacion de egamma objects offline

Le llamamos offline a la reconstruccion que se hace offline. A ustedes para empezar les bastara con las siguientes variables:

  • eg_nc : number of egamma candidates (el concepto es un poco analogo al
de numero de Rois para el trigger) esta variable les da la dimenesion de las otras variables, que, de nuevo son vectores

  • eg_IsEM: esta variable contiene codificada informacion para la identificacion
del electron o el foton (se aplican diversos cortes, si el objeto egamma no verifica el corte se activa un bit determinado, lo tienen descrito con todo detalle en:

Para empezar nosotros requeriremos un loose electron:

  • loose electron (release 12): (isem & 0x7) == 0
(este electron verifica los dos primeros requirements en la web los de "Hadronic leakage" y "Use of the second compartment of the ECAL" asi como que |eta| < 2.47

Otras variables que igual usamos mas adelante:

  • eg_cl_et: energia transversa medida en el calorimetro
  • eg_cl_eta : eta medida en el calromitro
  • eg_cl_phi : phi medido en el calorimetro

-- TeresaFonsecaMartin - 20 Nov 2007

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2007-11-20 - TeresaFonsecaMartin
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback