Notes on AOD variables (based on athena version 12.0.4)

Electrons

  • Information on the isEM parameter is given here and here.
  • This lists the isEM bits (under BitDef), while you can get some help with bit masking here.
  • If an electron is reconstructed with the egamma algorithm (high-pT, cluster-seeded, also produces photon candidates), it will satisfy
    electron_egamma[i] == 1.
    Otherwise, if it satisfies
    electron_egamma[i] == 0 && electron_softe[i] == 1
    then it was only reconstructed using the softE (track-seeded) algorithm, which I believe is mainly for B-physics work, not high pT studies. Note that from Version 12, it is perfectly possible for both of these flags to be 1.
  • ...

Photons

  • ...
  • ...

Muons

Taus

  • ...
  • ...

Jets

  • ...
  • ...

Tracks

  • ...
  • ...

Calorimeter clusters

  • ...
  • ...

truthparticles

  • The definition of the truth_status variable originates from HEPEVT and is defined here.
  • Information on the ATHENA truth containers, including what is cut from the truth record, can be found here.
  • A few technical notes. These may be obvious, but you never know.
    • Do not try to access the truth_productionVertex_*[i] branches without checking that truth_hasProductionVertex[i]==1.
    • The same comment applies for the decay vertex.
    • The parents and children are referenced by barcode (a unique ID that identifies each particle in the event). Sometimes you may have to go back more than one step, as for example, a quark-antiquark pair may create a Z boson in Pythia, which "decays" to another Z boson, which in turn decays to e+e-. To access parents or children, you need something like this:
  // First loop over truth particles
  for (Int_t iTruth=0; iTruth < truth_num; iTruth++) {
    // Do stuff with your truth particle ...
    // Loop over the parents
    for (Int_t iParent=0; iParent < truth_parent_num[iTruth]; iParent++) {
      Int_t barcode = truth_parent_Barcode[iTruth][iParent];
      // Loop over truth again to find the parent
      for (Int_t iSecondTruth=0; iSecondTruth < truth_num; iSecondTruth++) {
      if (truth_Barcode[iSecondTruth] != barcode) continue; // Not the right one
        // Do stuff with the parent, eg access truth_pt[iSecondTruth]
        break;
      }
    }
  }
  • Note that only the generator truth is ntupled, so some particles have children that aren't on the ntuple. For example, electron bremsstrahlung usually occurs in the GEANT simulation, so using the truth_child_pdgId branch it is possible to deduce that brem has occurred, but trying to access the children themselves will generally fail.
  • ...

Etmiss

  • The etmiss_reffinal_* branches are now the recommended standard, replacing etmiss_final_* (Ref Final stands for Refined Final I believe)
  • ...

Trigger

  • Used trigger menus are defined here.
  • For the egamma slice, the names are confusing: it changes from L1EMTauObject at Level 1, through L2TrigElectron at Level 2, to EFegamma at the Event Filter.
  • ...

The IsEM flag

-- JoostVossebeld - 26 Jan 2007
Topic revision: r13 - 29 May 2007, SteveMaxfield
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback