Trigger Size in Release 14

This page documents the efforts to reduce the size of the trigger EDM for release 14. Firstly, let me define "trigger EDM" (as used in this page). The size of the trigger content of the AOD is defined by three things:

  • type of physics event
  • trigger menu used
  • size of trigger objects
In this page, the "trigger EDM" is defined as the content (and therefore size) of each trigger object. The number of trigger objects per event is also an important number when considering the size of the trigger content in the AOD - but the goal of this work is to reduce the size of each trigger object - decisions about the trigger menu are not discussed here.

Release 13.0.40 Benchmark

I will put a list of the benchmark from 13.0.40 here...

Plans to Reduce Size

Here is a list of the TrigEvent persistent classes and possible ways to save (sizes are top events with 13.0.30 default menu):

Size (kB/evt) # Objects (407 evts) Class Persistent Content Potential Improvement
0.03 814 TrigMissingET 3 double, 1 long prec
0.2 2589 TrigT2Jet 6 float, 1 long prec
0.09 722 TrigMuonEF 1 P4IPtCotThPhiM, 1 string, 1 double, 1 int prec
0.02 536 MuonFeature 8 float, 2 int prec
0.2 503 CombinedMuonFeature 1 MuonFeature, 1 TrigInDetTrack, 2 float links, prec
0.3 6457 TrigL2Bjet 11 float, 1 int, 1 bool prec
0.3 6457 TrigEFBjet 11 float, 1 int prec
0.6 277 TrigEFBphys 1 TrigEFBphys, 1 enum, 3 float, 1 int, 1 bool prec
12 481 TrigL2Bphys 1 TrigL2Bphys, 1 TrigVertex, 1 enum, 4 floats, 1 int links, prec
16 20827 TrigVertex 1 vector<TrigInDetTrack>, 1 enum, 1 double, 7 float, 2 int links, prec
0.3 1944 TrigTau 1 P4PtEtaPhiM, 6 float, 2 int prec
1 2009 TrigTauCluster 1 TrigCaloCluster, 1 float[25], 5 float[4], 4 float[3], 8 float, 1 int prec
2 3745 TrigElectron 1 P4PtEtaPhiM, 1 enum, 8 float, 3 int, 1 bool prec
2 5220 TrigPhoton 1 P4PtEtaPhiM, 1 TrigEMCluster, 5 float, 1 int, 1 bool link, prec
0.7 2144 TrigEMCluster 1 TrigCaloCluster, 1 float[25], 12 float prec
    TrigCaloCluster 6 floats, 1 long, 1 int prec
10 407 TrigDecision 2 HLTResult, 1 Lvl1Result, 1 uint32_t link
4 407 HLTResult_L2 3 vector<uint32_t> none
6 407 HLTResult_EF 3 vector<uint32_t> none
0.3 15103 TrigRoiDescriptor 1 vector<uint32_t>, 3 uint, 4 float prec
0.1 407 Lvl1AODPrescaleConfigData 1 vector<uint32_t>, 1 uint32_t none
0.6 407 Lvl1AODConfigData 8 vector<string>, 1 uint32_t none
13 407 HLTAODConfigData 2 vector<string>, 10 vector<uint32_t>, 2 uint32_t once per file
4 407 TrigInDetTrackTruthMap no persistent object yet none yet
43 12100 TrigInDetTrack 2 TrigInDetTrackFitPar*, 1 enum, 1 double, 4 int prec
    TrigInDetTrackFitPar 1 vector<double>*, 1 enum, 6 double, 5 float prec

Looking at the table above, the actions that appear to make a significant difference will be:

  • optimizing the precision of the TrigInDetTrack and TrigInDetTrackFitPar data members
    • Dmitry Emeliyanov suggests we can drop the 'errors' in the FitParams (build them on the fly from the cov. matrix) and change the cov matrix to floats using a Kalman filter trick he knows.
  • remove HLTResult instances from TrigDecision
  • make links in TrigL2Bphys -> TrigVertex -> vector<TrigInDetTrack> chain (can there be a TrigInDetTrackCollection in TrigVertex?)
    • if there are only 480 TrigL2Bphys, but 20000 TrigVertex, who else is making TrigVertex objects, and are they only z information?
  • HLTAutoConfigData once per file (done)

%HR%

Here are the non- TrigEvent classes:

Size (kB/evt) # Objects (407 evts) Class
0.2 407 CTP_Decision
0.4 407 LVL1_ROI
0.7 1928 TauJetContainer
1 3093 egammaContainer
1 1928 TauDetailsContainer
1 3927 CaloClusterContainer
2 3868 egDetailContainer
32 6356 TrackParticleContainer

  • Looks like gains in TrackParticleContainer might be useful:
    • Andi Wildauer, claims that gains from double to float are still possible for MeasuredPerigee in TrackParticle

-- AndrewHamilton - 17 Dec 2007

Edit | Attach | Watch | Print version | History: r11 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 2007-12-20 - AndrewHamilton
 
    • 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-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