Andrew's Trig Photon Work Log

This is where I scratch down things that I'm doing related to trigger egamma.

TrigL2Photon Changes

Problem: TrigL2PhotonFex uses the FexAlgo::acceptInput method which "pre-selects" TrigEMClusters that produce TrigPhotons. This has the following effects:

  • TriggerElements that contain TrigEMClusters that fail the pre-selection do not get de-activated (only Hypo's can de-activate a TE), so we get left with active TE's that have no outputTE * the pre-selection cuts do not get monitored (because they are in the Fex) * it is an unnecessary difference between electrons and photons

Solution: Split TrigL2PhotonFex into TrigL2CaloHypo and TrigL2PhotonFex. Now, the photon slice is using the same TrigL2CaloHypo code as the electrons, obviously, different configurations are possible (i.e. L2CaloHypo_gX)

Packages Edited:

  • TrigHypothesis/!TrigEgammaHypo
  • TrigEvent/!TrigParticle
  • TriggerCommon/!TriggerMenuPython

Packages Affected:

  • TrigEvent/!TrigParticleTPCnv (not sure this is really affected...)
  • TrigEvent/!TrigEventAthenaPool (not sure this is really affected...)

TrigL2PhotonFex (.cxx and .h)

  • remove acceptInput method which filtered the TrigEMCluster, so we should add a TrigL2CaloHypo for the photons
  • change extraction of TrigPhoton variables from the TrigL2PhotonFex to the TrigPhoton constructor (to be same as TrigElectron)
  • there is no longer a cut in the dEta and dPhi between the cluster and RoiDescriptor (to be same as electron)

TrigPhoton (.cxx and .h)

  • add new constructor that take just the roi and the link to the cluster and fills the data members
  • TrigPhoton et changed from "cluster->energy / cosh( fabs( cluster->eta ) )" to "cluster->et"
  • TrigPhoton's rCore will now give default of 0 instead of -1 (like !!TrigElectron)
  • NOTE: do I need to recompile TrigEventAthenaPool and TrigParticleTPCnv...


  • this is just a dummy class because the Fex just passes everything through


  • added photon hypo configurations g4 and g7 which just cut on the et of the cluster (like TrigPhotonFex used to do)

Change Hypo Config Naming:

  • because I'm already modifying the package structure, I will make the naming of the Fex and Hypo config files more logical
    • TrigL2IDCaloHypoConfig -> TrigL2ElectronHypoConfig + TrigL2ElectronFexConfig
    • TrigL2IDCaloHpyoMonitoring -> TrigL2ElectronHypoMonitoring
    • TrigEFEgammaHypoConfig -> TrigEFElectronHypoConfig
    • TrigEFEgammaHypoMonitoring -> TrigEFElectronHypoMonitoring
  • this means I need to change:
    • TriggerMenuPyton: share/, python/, python/

Put default cuts into XXXHypo.cxx files:

  • this will prevent seg faults from mis-configurations



  • TrigL2PhotonFex: who deletes pointers to TrigPhotonContainer and TrigPhoton?
  • Should default cuts be added to hypo config classes (like

To-Do List

  • remove deprecated file (TrigEgammaHypo/python/
  • add _passL2 and _passEF chains
  • re-write in new format (with L2EFChains)
  • implement back-tracking in one signature

Getting and Reading Cosmic Data

  • get the data using dq2, you can see the list of datasets/files at /castor/
  • see the CosmicCommissioningReconstructionStatus twiki for info on setting up

Point-1 Monitoring

To login to a Point-1 machine:

  • ssh -C -X (password is afs)
  • it will ask to login to a hostname (ie. pc-atlas-pub-03)
  • to view MDA hists, log into pc-tdq-mon-09, then
    • source /sw/tdaq/setup/ i686-slc4-gcc34-opt
    • hists are in /data/coca/cache/tdaq-01-09-01/coca/Histogramming-DQM
    • start ROOT with $ROOTSYS/bin/root
  • a relevant (but old) twiki: TDAQPoint1RemoteMonitoring

Point-1 Access to L2/EF nodes

To login to a Point-1 machine:

To see L2 and EF log files:

  • In the Spy-IGUI, find an xpu node which is working, ie pc-tdq-xpu-0002, is a common L2 node, pc-tdq-xpu-0807 is a common EF node.
  • ssh to that node.
  • cd /logs/tdaq-01-09-01/ATLAS/ (substitute release/partition_name as needed)
  • To find a recently updated log: ls -ltr PT*.out (for EF; L2*.out for LVL2) and pick the one at the end of the list
  • Double-check that the date and time of the log is current.
  • Athena error messages will be in the log.

How-To Add a New Chain

  • TriggerMenuPython/python/ add new chain to following lists:
    • l2photonFex defines the L2 FEX used for the chain
    • l2photonHypo defines the L2 HYPO used for the chain
    • efphotonHypo defines the EF HYPO use for the chain
    • l2_chains defines the L2 chain name and the L1 chain that feeds it
      • chain counter must be unique, ask trigger miester for possible values
      • set prescale=1 and passthroug=0, actual values set elsewhere
    • ef_chains defines the EF chain name and the L2 chain that feeds it
      • chain counter and pass through same as in l2_chains
    • l1_te, l2_te, final_te associates chain name with L1, L2, and EF trigger elements
  • TriggerMenuPython/python/ add item to all lists
  • TriggerMenuPython/python/ add item to HLTPrescales

How-To Add a New Hypo Configuration

  • check out Trigger/TrigHypothesis/TrigEgammaHypo
  • in make a new class for you new Hypo
  • in make a new class for the corresponding fex
  • put your new hypo in a chain as described above

-- AndrewHamilton - 15 Aug 2008

This topic: Main > TWikiUsers > AndrewHamilton > AndrewsTrigPhotonWorkLog
Topic revision: r26 - 2009-08-13 - AndrewHamilton
This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback