PHYSICS


This page will describe some mechanisms and physics ideas behind the Atlfast Algorithms. It will give some comparison to the old Fortran-Atlfast and describe how to configure each algorithm and what it's outputs are. Hopefully this will then give the user an idea of how best utilise Atlfast for their particular analysis. Further information on configuring your Atlfast job can be found here. As many of the Atlfast algorithms functionality is based on the Fortran-Atlfast version, reading the note on the Fortran version will be useful in understanding the motivations for certain designs etc., ATL-PHYS-98-131. Athena-Atlfast was tested directly with a wrapped version of the fortran code running in the Athena framework (AtlfastTemp). This then meant both versions (Fortran-Atlfast and Athena-Atlfast) were run on identical physics events. The results of these tests can be found here.

There is also a summary of the differences between Athena-Atlfast and Fortran-Atlfast.

AtlfastAlgs contains the following core Algorithms, all of which are vital for running Atlfast and are setup in the AtlfastDoNotTouch.txt file, and thus run in every job that uses the StandardAtlfast files:

GlobalEventDataMaker
CellMaker
ClusterMaker
DefaultReconstructedParticleMaker
Isolator
JetMaker
AtlfastB
EventHeaderMaker

In addition to the core Algorithms, Atlfast also has the following Utility Algorithms that can be used to extend you Atlfast job and produce further useful outputs. To run any of them you need to add them to your AtlfastStandardOptions AFTER the #include "AtlfastDoNotTouch.txt" line

TrackMaker
Monitor
StandardNtupleMaker
TrackNtupleMaker
AtlfastProtoJetMaker


GlobalEventDataMaker

This Algorithm must always be the first to run when executing an Atlfast job. It creates a singleton object called GlobalEventData. GlobalEventData is then used by all the other Algorithms to configure their global quantities that must be consistant across all algorithms. The values of these quantites can be set by the user by setting the GlobalEVentDataMakers individual variables in the job Options file. It should be noted that the default value for the transition between the barrel and forword detectors in eta (BarrelForwardEta) is set to the correct value of 3.2. In the old Fortran-Atlfast this value (YPAR(17)) was set to 3.0. The variables that can be set are as follows:


VARIABLE
DESCRIPTION
DEFAULT VALUE
FORTRAN-ATLFAST EQUIVALENT
Luminosity
Luminosity of run (high=2, low=1) This is important in the smearers and energy pileup.
2
LPAR(2)
Invisables
These are the particles that pass through the Atlas detector and are unseen. The Neutrinos are hard wired as invisible and cannot be changed.
12,14,16
-
RandSeed
The initial value of the seed used in the random number generator used by the smearers.
12345
-
BFieldOn
A switch to turn the magnetic field on and off.
true
LPAR(3)
BarrelForwardEta
The eta value of the transition between the forward and barrel detectors.
3.2
YPAR(17)


CellMaker

This Algorithm outputs a cell map into the transient event store, which is just a std::vector containing all the Atlfast::Cells that have a pt above a certain threshold (which is set by the user). The equivalent Fortran-Atlfast routine is the first part of MAKCLU (ATL-PHYS-98-131 page 55).

CellMaker Runs as follows:

In its initialise phase

  • It constructs a simple calorimeter model (Atlfast::Calorimeter) which is made of three sections (Atlfast::CalSection.)

    Two end detectors in the range : 5 < |eta| < GlobalEventData.BarrelForwardEta() and -pi < phi < +pi
    These has a granualarity of 0.2 in both eta and phi.

    One Barrel detector in in the range : |eta| < GlobalEventData.BarrelForwardEta() and -pi < phi < +pi
    It has a granualarity of 0.1 in both eta and phi.

    In its execute phase

  • It reads in all the final-state MonteCarlo particles from the TES using Atlfast::TesIO, which is an interface object with StoreGate.

  • It bends the particles trajectory using an Atlfast::MagField object. This also removes the particles which fail to reach the Calorimeter due to the Magnetic filed.

  • It gives the particles to the Calorimeter, which deposits the particles energy into the Cells.

  • It writes out the std::vector of hit cells to the TES using Atlfast::TesIO.


    The following parameters can be set in CellMaker:


    VARIABLE
    DESCRIPTION
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    OutputLocation
    The key used by storegate when storing the Cells. The user should be very careful when changing this as it is used by a number of other algorithms to retrieve the Atlfast::Cells
    "/Event/AtlfastCells"
    -
    EtaCoverage
    The Eta coverage of the Calorimeter
    5.0
    YPAR(12)
    MinETCell
    The Et cut that cells have to pass to be considered a hit cell and thus stored in the TES.
    0.0
    YPAR(15)
    GranBarrelEta
    The Granularity of the barrel detector in the Eta direction
    0.1
    YPAR(18)
    GranBarrelPhi
    The Granularity of the barrel detector in the Phi direction
    0.1
    YPAR(19)
    GranForwardEta
    The Granularity of the forward detector in the Eta direction
    0.2
    YPAR(18)*2
    GranForwardPhi
    The Granularity of the forward detector in the Phi direction
    0.2
    YPAR(19)*2

    ClusterMaker

    This Algorithm constructs Atlfast::Clusters from the Atlfast::Cells and Stores them in a std::vector in the TES. It also stores a std::vector containg the hit cells that were not associated with any of the clusters. The default Atlfast Clustering algorithm is a Cone Algorithm. The equivalent Fortran-Atlfast routine is the second part of MAKCLU (ATL-PHYS-98-131 page 55).

    ClusterMaker Runs as follows:

    In its initialise phase

  • It instantiates a TesIO object

  • It Instantiates an object to do the clustering. The default Algorithn is the ClusterConeStrategy

    In its execute phase

  • It copies the Atlfast::Cells from the TES using TesIO

  • Use the selected cluster strategy to make Atlfast::Clusters

  • Stores the clusters in the TES

  • Stores the unused 'hit' cells in the TES.


    The default clustering algorithm in atlfast (and the only one available at the moment) is the Cone Strategy.
    The ClusterConeStrategy works as follows:

  • The cells are partitioned into those with ET above the Cluster Initiator threshold and those below the Cluster Initiator threshold.

  • The cells ablove initiator threshold are sorted by ET.

  • All the cells within a radius RCone of the First Iniator cell are added together to form a ClusterConeStrategy::PreCluster.

  • If the PreClusters Et is above the minimum cluster Et then it is used to construct a proper cluster ans all the cells making up that cluster are removed from the list.

  • The process is repeated with the remaining cells until all cells with ET above the Cluster Initiator threshold have been tried.

  • The clusters are put into a std::vector

  • The remaining cells are put into a std::vector and stored as unused cells


    The following parameters can be set in ClusterMaker:


    VARIABLE
    DESCRIPTION
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    InputLocation
    The key used by storegate when retrieving the Cells.
    "/Event/AtlfastCells"
    -
    OutputLocation
    The key used by storegate when storing the Clusters. The user should be very careful when changing this as it is used by a number of other algorithms to retrieve the Atlfast::Clusterss
    "/Event/AtlfastClusters"
    -
    UnusedCellLocation
    The key used by storegate when storing the unused Cells. The user should be very careful when changing this as it is used by a number of other algorithms to retrieve the Atlfast unused cells
    "/Event/AtlfastUnusedCells"
    -
    RConeBarrel
    Radius of the cone used by the ClusterCone Algorithm in the Barrel region
    0.401
    YPAR(11)
    RConeForward
    Radius of the cone used by the ClusterCone Algorithm in the Forward region
    0.401
    YPAR(16)
    MinIniatorET
    Minimum Et for cell to have to be considered a seed cell in the cone algorithm
    1.5
    YPAR(13)
    MinClusterET
    ET cut on preClusters when forming Clusters. preClusters with Et above this are converted in true Clusters, all other are rejected.
    5.0
    YPAR(10)
    Strategy
    Clustering strategy to be used
    "Cone"
    -
    MasslessJets
    Switch to turn on/off massless clusters. Normaly the clusters are constructed and their 4-vector is recalibrated to give massless clusters, however, if this switch is set to false the clusters 4-vector is calculated directly from adding the cells 4-vectors together, thus producing a result with non-zero mass. (*see note below)
    true
    -


    *Note on cluster mass.

    The default atlfast ClusterMaker (setting MasslessJets = true) adds up all the 4-momentum of the Cells making up the Cluster and then calculates the 4-vector of the Cluster as follows

    m_P = sum of 4-vectors of the cells
    m_eT = sum of the eT's of the cells
    m_eta_weighted = sum of the (cell->eta() * cell->eT())
    m_eta = m_eta_weighted / m_eT
    m_theta = atan( exp( - m_eta ) ) * 2.0 ;

    t = m_eT / sin( m_theta ) ;
    x = m_eT * cos( m_P->phi() ) ;
    y = m_eT * sin( m_P->phi() ) ;
    z = t * cos( m_theta ) ;
    return HepLorentzVector( x, y, z, t ) ;

    ClusterMaker has an option of MasslessJets = false. When this is set the Clusters 4-momentum is calculated as follows:

    t = m_P->e();
    x = m_P->px();
    y = m_P->py();
    z = m_P->pz();
    return HepLorentzVector( x, y, z, t ) ;


    DefaultReconstructedParticleMaker

    DefaultReconstructedParticleMaker (DRPM) constructs the electrons, muons and photons in the Atlfast job. It is instantiated three times during the Atlfast job, once in the guise of ElectronMaker, once as MuonMaker and once as PhotonMaker. Each time it is passed the pdg id so that it knows what type of particles it has to make. The Fortran-Atlfast has three routines that represent DRPM, MAKELE, MAKMUO, MAKPHO (ATL-PHYS-98-131 page 56-57) These however, also perform isolation, which is done by Isolator in Athena-Atlfast

    CellMaker Runs as follows:

    In its initialise phase

  • A HepMC_helper::SelectType is instantiated. This selects particles of the suplied pdg id type.

  • A HepMC_helper::MCCuts is instantiated. This puts cuts on the particles transverse-momentum and pseudorapidity.

  • A HepMC_helper::IsFinalState is instantiated. This selects only final state particles.

  • The three HepMC::helpers are put into a std::vector as IMCselectors and this is used to make an HepMC_helper::NCutter.

  • A TesIO object is instantiated to interact with StoreGate.

  • The GlobalEventData object is accessed and the luminosity and random seed retrieved.

  • An appropriate smearer is instantiated, depending on the particle type being made.

    In its execute phase

  • Collects the MonteCarlo from the TES that pass all selection cuts unsing TesIO.

  • Makes a new ReconstructedParticleCollection.

  • For each particle it creates a ReconstructedParticle. smearing its momentum if smearing switchec on

  • Tests if that particle passes the transverse-momentum and pseudorapidity cuts.

  • All acceptable particles are put into the ReconstructedParticleCollection.

  • sorts the particles by descending transverse-momentum.

  • Stores the ReconstructedParticleCollection in the TES using TesIO.


    The following parameters can be set in CellMaker:


    VARIABLE
    DESCRIPTION
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT (*see below)
    ParticleType
    pdg id of the particle to be constructed
    11
    -
    mcMinimumPt
    pT cut on Monte Carlo Event selection
    0.0
    -
    mcMaximumEta
    Eta cut on Monte Carlo Event selection
    100.0
    -
    MinimumPt
    pT cut on Reconstructed Particle
    5.0
    -
    MaximumEta
    Eta cut on Reconstructed Particle
    2.5
    -
    DoSmearing
    Switch to turn smearing on and off.
    "true"
    -
    MuonSmearKey
    Selects type of muon smearer to be used
    1
    -
    OutputLocation
    Sets StoreGate key for the Reconstructed Particles.
    "/Event/AtlfastReconstructedParticle"
    -


    As DRPM is instantiated as three different makers in the AtlfastJobs, the parameters have "default" values for each instantiation in the AtlfastStandardOptions.txt some of which releate directly to settings in the old Fortran-Atlfast. These are as follows:

    ElectronMaker

    VARIABLE
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    ParticleType
    11
    -
    MinimumPt
    5.0
    YPAR(40)
    MaximumEta
    2.5
    YPAR(41)
    DoSmearing
    "true"
    LPAR(4)
    OutputLocation
    "/Event/AtlfastElectrons"
    -

    MuonMaker

    VARIABLE
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    ParticleType
    13
    -
    mcMinimumPt
    0.5
    YPAR(100)
    MinimumPt
    6.0
    YPAR(20)
    MaximumEta
    2.5
    YPAR(21)
    DoSmearing
    "true"
    LPAR(4)
    MuonSmearKey
    3
    LPAR(5)
    OutputLocation
    "/Event/AtlfastMuons"
    -

    PhotonMaker

    VARIABLE
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    ParticleType
    22
    -
    MinimumPt
    5.0
    YPAR(30)
    MaximumEta
    2.5
    YPAR(31)
    DoSmearing
    "true"
    LPAR(4)
    OutputLocation
    "/Event/AtlfastPhotons"
    -

    The DefaultReconstructedParticle Smearers

    DRPM has a memeber variable which is an ISmearer interface class. This is instantiated as a different concrete smearer depending on the type of particles being made. If there is no smearer avaialable for the particle type selected the DefaultSmearer is used. All Atlfast Smearers are ISmearers. All the smearers in Atlfast are direct translations of the Fortran-Atlfast code into C++

  • The ElectronSeamer parmaterisation is shown here.

  • The PhotonSeamer parmaterisation is shown here.

  • MuonSeamer The muon smearer has six posible settings or SmearKeys. The different parameterisations are shown here.


    Isolator

    This Algorithm Calculates whether the reconstructed particles are Isolated are not. It performs two Isolation tests, one against clusters and the others agains cells. Both the Isolation distances and energy levels can be set by the user. Atlfast Instantiates one Isolator for each flavour of reconstructed particle. It stores the particles in the TES in two std::vectors, one for Isolated particles and one for non-Isolated particles.

    CellMaker Runs as follows:

    In its initialise phase

  • It instantiates a TesIO object to interface with StorGate.

  • It retrieves the visibleToCal object from GlobalEventData

    In its execute phase

  • Retrieves the ReconstructedPerticles, Cells and Clusters from the TES using TesIO.

  • Iterates over all th reconstructed particles anf for each:

  • Partition the clusters into those that are associated with a particle and those that aren't

  • Sorts non-associated Clusters by distance from the ReconstructedParticle.

  • If closest cluster is within rClusterMatch of the particle it is initially associated with the particle.

  • If the sum of eT of all the non-associatted clusters within rClusterIsolation of the ReconstructedParticle is greater than eClusterIsolation the particle is returned as non-isolated and it's associated cluster is returned to the non-associated clusters.

  • If ClusterIsolation passed, CellIsolation is performed.

  • The eT of all the cells within rCellIsolation of the particle is summed up.

  • If the particle is of type visable-to-cal, it's eT is subtracted from the sum of eT.

  • If the sum of eT is greater than eCellIsolation the particle is returned as non-isolated and it's associated cluster is returned to the non-associated clusters.

  • If CellIsolation is passed, the associated cluster is confirmed as the particles associated cluster and the particle is returned as isolated.

  • The Isolated and non-Isolated particles are stored in the TES.


    The following parameters can be set in Isolator:


    VARIABLE
    DESCRIPTION
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT (*see below)
    RClusterMatch
    maximum distance between a cluster and a particle for the two to be associated.
    0.150
    -
    RClusterIsolation
    Radius of cone around particle that clusters eT are summed up in for CluesterIsolation.
    0.400
    -
    EClusterIsolation
    eT value used to determine cluster Isolation.
    0.0
    -
    RCellIsolation
    Radius of cone around particle that cells eT are summed up in to determine CellIsolation.
    0.200
    -
    ECellIsolation
    eT value used to determine cell Isolation.
    10.0
    -
    InputLocation
    StoreGate key of the Reconstructed Particles
    "Unknown"
    -
    CellLocation
    StoreGate key for the AtlfastCells
    "/Event/AtlfastCell"
    -
    ClusterLocation
    StoreGate key for the Atlfast CLusters.
    "/Event/AtlfastCluster"
    -
    IsolatedOutputLocation
    StoreGate key for the Outputted Isolated particles.
    "Unknown"
    -
    NonIsolatedOutputLocation
    StoreGate key for the Outputted Non-Isolated particles.
    "Unknown"
    -


    As Isolator is instantiated three times in the AtlfastJobs (once for each ReconstructedParticle type), the parameters have "default" values for each instantiation in the AtlfastStandardOptions.txt some of which releate directly to settings in the old Fortran-Atlfast. These are as follows:


    ElectronIsolator


    VARIABLE
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    RClusterMatch
    0.150
    YPAR(45)
    RClusterIsolation
    0.400
    YPAR(47)
    EClusterIsolation
    0.0
    -
    RCellIsolation
    0.200
    YPAR(48)
    ECellIsolation
    10.0
    YPAR(49)
    InputLocation
    "/Atlfast/Electrons"
    -
    IsolatedOutputLocation
    "/Atlfast/IsolatedElectrons"
    -
    NonIsolatedOutputLocation
    "/Atlfast/NonIsolatedElectrons"
    -



    PhotonIsolator


    VARIABLE
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    RClusterMatch
    0.150
    YPAR(35)
    RClusterIsolation
    0.400
    YPAR(37)
    EClusterIsolation
    0.0
    -
    RCellIsolation
    0.200
    YPAR(38)
    ECellIsolation
    10.0
    YPAR(39)
    InputLocation
    "/Atlfast/Photons"
    -
    IsolatedOutputLocation
    "/Atlfast/IsolatedPhotons"
    -
    NonIsolatedOutputLocation
    "/Atlfast/NonIsolatedPhotons"
    -



    MuonIsolator


    VARIABLE
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    RClusterMatch
    0.0
    -
    RClusterIsolation
    0.400
    YPAR(27)
    EClusterIsolation
    0.0
    -
    RCellIsolation
    0.200
    YPAR(28)
    ECellIsolation
    10.0
    YPAR(29)
    InputLocation
    "/Atlfast/Muons"
    -
    IsolatedOutputLocation
    "/Atlfast/IsolatedMuons"
    -
    NonIsolatedOutputLocation
    "/Atlfast/NonIsolatedMuons"
    -



    JetMaker

    JetMaker takes Unassociated-Clusters and constructs Jets from them by simple testing the Clusters against selection criteria and addinging in any appropriate muons. It smears the Clusters four momentum before the Jet construction. This process was performed by MAKJET in the Fortran-Atlfast (ATL-PHYS-98-131 page 57). It also performs some rudimentary b, c and tau jet tagging in the same manner as the MAKBJE, MAKCJE and MAKTAU routines in the Fortran-Atlfast (ATL-PHYS-98-131 page 57-58). As well as making, smearing and tagging the Jets, JetMaker also calculates the missing momentum of the overall event. It does this by smearing the unused Cells and adding them to the unused smaeared Clusters. This job is done by MAKMIS in the Fortran-Atlfast (ATL-PHYS-98-131 page 58).

    JetMaker Runs as follows:

    In its initialise phase

  • It instantiates a TesIO object to interact with the TES.

  • It instantiates two JetSmearers, one set with values for smearing the Jets and the other with values for smearing the Cells.

    In its execute phase

  • Retrieves Clusters and non-Isolated Muons from the TES.

  • Makes an empty JetCollection container.

  • Makes two HepMC_helper::SelectJetTag objects, one of c-jets and one for b=jets and a HepMC_helper::SelectTauTag tau-jets.

  • Retrieves three sets of HepMC::GenParticles from the TES using the HepMC_helper::SelectJetTags and HepMC_helper::SelectTauTag.

  • Iterates over all the Clusters.

  • Takes the cluster, smears its four-momentum and makes a Atlfast::Jet candidate from it.
  • Associates cluster with Jet.

  • Adds the four momentum of any non-Isloated Muons that are within rcone of the Jet candidate to the Jet candidates four-momentum and removes the muon from the list.

  • Tests to see if the Jet candidate is Acceptable, by testing its pT and eta against the minPt and maxEta cuts.

  • If it is acceptable it is put into the JetCollection else the candidates four-momenta is added to the missing momentum and the candidate is deleted.

  • Stores the JetCollection in the TES once all Clusters have been tested.

  • Retrieves the unused Cells from the TES.

  • Smears the cells four-momenta.

  • Adds the cells four-momenta to the missing momentum.

  • Stores the missing momentum in the TES.


    The following parameters can be set in JetMaker:


    VARIABLE
    DESCRIPTION
    DEFAULT VALUE
    FORTRAN-ATLFAST EQUIVALENT
    MinimumPT
    Minimum PT value for a JetCandidate to be accepted as a jet
    10.0
    YPAR(51)
    MaxEta
    Maximum Eta value for a JetCandidate to be accepted as a jet
    5.0
    YPAR(52)
    DoSMearing
    Switch Jet and MissingMomentum smearing on
    true
    LPAR(4)
    RconeB
    Radius of Jet finding cone in Barrel region
    0.401
    YPAR(11)
    RconeF
    Radius of Jet finding cone in Forward region
    0.401
    YPAR(16)
    bPtMin
    Minimum Pt of b-quarks used in the b-tagging.
    5.0
    YPAR(63)
    bMaxDeltaR
    Maximum distance from jet of b-quarks used for the b-tagging.
    0.2
    YPAR(65)
    cPtMin
    Minimum Pt of c-quarks used in the c-tagging.
    5.0
    YPAR(73)
    cMaxDeltaR
    Maximum distance from jet of c-quarks used for the c-tagging.
    0.2
    YPAR(75)
    tauPtMin
    Minimum Pt of taus used in the tau-tagging.
    10.0
    YPAR(90)
    tauMaxDeltaR
    Maximum distance from jet of taus used for the tau-tagging.
    0.3
    YPAR(92)
    tauJetPtRatio
    The ratio between the Pt of the tau minus the Pt of the tau-neutrino and the Pt of the jet has to be greater than this for the jet to be tagged a a Tau-Jet.
    0.9
    YPAR(93)
    etaTagMaxo
    Maximum Eta of particles used in the all jet-tagging.
    2.5
    YPAR(61),YPAR(71),YPAR(91)
    InputLocation
    StoreGate key for the Cluster Location in the TES.
    "/Event/AtlfastClusters"
    -
    OutputLocation
    StoreGate key for the Jet Location in the TES.
    "/Event/AtlfastJets"
    -
    UnusedCellLocation
    StoreGate key for the unused Cells in the TES.
    "/Event/AtlfastUnusedCells"
    -
    MuonLocation
    StoreGate key for the non-isolated Muons in the TES.
    "/Event/AtlfastNonIsolatedMuons"
    -
    MissingMomentumLocation
    StoreGate key for the missing momentum in the TES.
    "/Event/AtlfastMissingMomentum"
    -



    AtlfastB