From a08f7e6a499dbfd1562c6c223aaeca6e06c337f5 Mon Sep 17 00:00:00 2001
From: Fabrizio Salvatore <p.fabrizio.salvatore@googlemail.com>
Date: Wed, 8 Jul 2015 14:50:26 +0200
Subject: [PATCH] added 'xAOD::TauJetContainer#HLT_TrigTauRecCaloOnly' +Aux as
 per https://its.cern.ch/jira/browse/ATR-11761 (TrigEDMConfig-00-02-38)

	* python/TriggerEDM.py
	* added 'xAOD::TauJetContainer#HLT_TrigTauRecCaloOnly' +Aux
        * as per https://its.cern.ch/jira/browse/ATR-11761
	* tagging TrigEDMConfig-00-02-38

2015-06-17 Fab Salvatore <p.salvatore@cern.ch>
	* python/TriggerEDM.py
	* Corrected typos in EDMDetails["xAOD::JetRoIAuxContainer"] and xAOD::L2IsoMuonAuxContainer#HLT_MuonL2ISInfoAux.'
        * as per https://its.cern.ch/jira/browse/ATR-11476
	* tagging TrigEDMConfig-00-02-37

2015-07-02  Jiri Masik  <jiri.masik@manchester.ac.uk>

	* python/TriggerEDM.py: remove caloExtension from Electron/Muon
	tracking collections, tagged as TrigEDMConfig-00-02-36

2015-06-29 Tomasz Bold
	* added slection code for HI EDM
	* tagging TrigEDMConfig-00-02-35

...
(Long ChangeLog diff - truncated)
---
 .../TrigEDMConfig/python/TriggerEDM.py        | 103 ++++++---
 .../python/TriggerEDMAnalysis.py              | 209 ++++++++++++++++++
 .../python/TriggerEDMAnalysisShort.py         | 199 +++++++++++++++++
 3 files changed, 481 insertions(+), 30 deletions(-)
 create mode 100644 Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysis.py
 create mode 100644 Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysisShort.py

diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDM.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDM.py
index 8c761cc9160..498c1defc7f 100644
--- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDM.py
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDM.py
@@ -101,6 +101,28 @@ RemoveTauVariables = ".-"+identifier.join(UnusedTauVariables)
 #####################
 #####################
 
+# temporary functionality to discover version of EDM
+####################
+    
+def chooseOneWithDefinedCCLID(a, b):
+    from CLIDComps.clidGenerator import clidGenerator
+    cgen = clidGenerator("", False)
+
+    def isCLIDDefined(typename):
+        c = cgen.genClidFromName(typename)
+        pkg = cgen.getPackageFromClid(c)     
+        return bool(pkg)
+
+    aCLID = isCLIDDefined(a)
+    bCLID = isCLIDDefined(b)
+    assert not(aCLID == True and bCLID == True), "Both classes " + a +" " + b + "have CLIDs defined"
+    assert not(aCLID == False and bCLID == False), "None of two classes " + a +" " + b + "have CLIDs defined"    
+    return a if aCLID else b
+
+
+
+
+
 TriggerHLTList = [
  
     #steer
@@ -210,6 +232,10 @@ TriggerHLTList = [
     ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMergedAux'+RemoveTauVariables,        'BS ESD AODFULL AODSLIM', 'Tau'), 
     ('xAOD::TauJetContainer#HLT_TrigTauRecPreselection',                           'BS ESD AODFULL AODSLIM', 'Tau'),
     ('xAOD::TauJetAuxContainer#HLT_TrigTauRecPreselectionAux'+RemoveTauVariables,  'BS ESD AODFULL AODSLIM', 'Tau'),
+
+    ('xAOD::TauJetContainer#HLT_TrigTauRecCaloOnly', 				   'BS ESD AODFULL', 'Tau'),
+    ('xAOD::TauJetAuxContainer#HLT_TrigTauRecCaloOnlyAux'+RemoveTauVariables, 	   'BS ESD AODFULL', 'Tau'),
+
     ('xAOD::JetContainer#HLT_TrigTauJet',                                          'BS ESD AODFULL AODSLIM', 'Tau'), 
     ('xAOD::JetTrigAuxContainer#HLT_TrigTauJetAux.',                               'BS ESD AODFULL AODSLIM', 'Tau'), 
 
@@ -220,7 +246,7 @@ TriggerHLTList = [
     ('xAOD::L2CombinedMuonContainer#HLT_MuonL2CBInfo',                          'BS ESD AODFULL AODSLIM',                'Muon'), #fp
     ('xAOD::L2CombinedMuonAuxContainer#HLT_MuonL2CBInfoAux.',                   'BS ESD AODFULL AODSLIM',                'Muon'), #fp
     ('xAOD::L2IsoMuonContainer#HLT_MuonL2ISInfo',                               'BS ESD AODFULL AODSLIM',                'Muon'), #fp
-    ('xAOD::L2IsoMuonAuxContainer#HLT_MuonISInfoAux.',                          'BS ESD AODFULL AODSLIM',                'Muon'), #fp
+    ('xAOD::L2IsoMuonAuxContainer#HLT_MuonL2ISInfoAux.',                        'BS ESD AODFULL AODSLIM',                'Muon'), #fp
 
     #MuonEFInfo
     ('xAOD::MuonContainer#HLT_MuonEFInfo',                                         'BS ESD AODFULL AODSLIM',                'Muon'),
@@ -247,28 +273,28 @@ TriggerHLTList = [
     ('xAOD::TrackParticleAuxContainer#HLT_MuTagIMO_EF_ExtrapTrackParticlesAux'+RemoveIDVariables, 'BS ESD AODFULL AODSLIM', 'Muon'),#fp
 
     #MET
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET',                                 'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET',                                 'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingETAux.',                          'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET_noiseSupp',                       '',                                      'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET_noiseSupp',                       '',                                      'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingET_noiseSuppAux.',                '',                                      'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET_FEB',                             'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET_FEB',                             'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingET_FEBAux.',                      'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET_topocl',                          'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET_topocl',                          'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingET_topoclAux.',                   'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET_topocl_PS',                       'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET_topocl_PS',                       'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingET_topocl_PSAux.',                'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_EFJetEtSum',                                      'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_EFJetEtSum',                                      'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_EFJetEtSumAux.',                               'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_T2MissingET',                                     'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_T2MissingET',                                     'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_T2MissingETAux.',                              'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET_topocl_PUC',                      'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET_topocl_PUC',                      'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingET_topocl_PUCAux.',               'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_EFMissingET_Fex_2sidednoiseSupp_PUC',             'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_EFMissingET_Fex_2sidednoiseSupp_PUC',             'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_EFMissingET_Fex_2sidednoiseSupp_PUCAux.',      'BS ESD AODFULL AODSLIM',                'MET'),
-    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET_mht',                             'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigEFMissingET_mht',                             'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingET_mhtAux.',                      'BS ESD AODFULL AODSLIM',                'MET'),
 
-    ('xAOD::TrigMissingETContainer#HLT_TrigL2MissingET_FEB',                             'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingET#HLT_TrigL2MissingET_FEB',                             'BS ESD AODFULL AODSLIM',                'MET'),
     ('xAOD::TrigMissingETAuxContainer#HLT_TrigL2MissingET_FEBAux.',                      'BS ESD AODFULL AODSLIM',                'MET'),
 
     #tracking
@@ -303,8 +329,8 @@ TriggerHLTList = [
     ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Muon_IDTrig',          'BS ESD AODFULL AODSLIM',  'Muon'),
     ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Tau_IDTrig',           'BS ESD AODFULL AODSLIM',  'Tau'),
     ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Bjet_IDTrig',          'BS ESD AODFULL AODSLIM',  'Bjet'),
-    ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrig',      'BS ESD AODFULL',          'Bphys'),
-
+    ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrig',      'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_FTF',         'BS ESD AODFULL AODSLIM',  'Bphys'),
 
     ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bjet_EFIDAux'+RemoveIDVariables,             'BS ESD AODFULL',          'Bjet'),
     ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_EFIDAux'+RemoveIDVariables,         'BS ESD AODFULL',          'Bphys'),
@@ -332,11 +358,12 @@ TriggerHLTList = [
     ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bjet_FTFAux'+RemoveIDVariables,              'BS ESD AODFULL AODSLIM',  'Bjet'),
     ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_BjetPrmVtx_FTFAux'+RemoveIDVariables,              'BS ESD AODFULL AODSLIM',  'Bjet'),
 
-    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Electron_IDTrigAux'+RemoveIDVariables,       'BS ESD AODFULL',  'Egamma'),
-    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Muon_IDTrigAux'+RemoveIDVariables,           'BS ESD AODFULL AODSLIM',  'Muon'),
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Electron_IDTrigAux.-caloExtension'+RemoveIDVariables,       'BS ESD AODFULL',  'Egamma'),
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Muon_IDTrigAux.-caloExtension'+RemoveIDVariables,           'BS ESD AODFULL AODSLIM',  'Muon'),
     ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Tau_IDTrigAux.-caloExtension'+RemoveIDVariables,  'BS ESD AODFULL AODSLIM',  'Tau'),
     ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bjet_IDTrigAux'+RemoveIDVariables,              'BS ESD AODFULL AODSLIM',  'Bjet'),
-    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrigAux'+RemoveIDVariables,         'BS ESD AODFULL',          'Bphys'),
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrigAux'+RemoveIDVariables,          'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_FTFAux'+RemoveIDVariables,             'BS ESD AODFULL AODSLIM',  'Bphys'),
 
     #jets
     ('xAOD::JetContainer#HLT_TrigHLTJetDSSelectorCollection',            'DS ESD AODFULL', 'Jet'),
@@ -353,10 +380,11 @@ TriggerHLTList = [
     ('xAOD::JetTrigAuxContainer#HLT_a4tcemjesFSAux.',                    'BS ESD AODFULL', 'Jet'),
     ('xAOD::JetContainer#HLT_a4tcemsubFS',                               'BS ESD AODFULL', 'Jet'),
     ('xAOD::JetTrigAuxContainer#HLT_a4tcemsubFSAux.',                    'BS ESD AODFULL', 'Jet'),
+
     ('xAOD::JetContainer#HLT_a4tcemsubjesFS',                            'BS ESD AODFULL AODSLIM', 'Jet'),
     ('xAOD::JetTrigAuxContainer#HLT_a4tcemsubjesFSAux.',                 'BS ESD AODFULL AODSLIM', 'Jet'),
-    ('xAOD::JetContainer#HLT_a4tcemnojcalibFS',                          'BS ESD AODFULL', 'Jet'),
-    ('xAOD::JetTrigAuxContainer#HLT_a4tcemnojcalibFSAux.',               'BS ESD AODFULL', 'Jet'),
+    ('xAOD::JetContainer#HLT_a4tcemnojcalibFS',                          'BS ESD AODFULL AODSLIM', 'Jet'),
+    ('xAOD::JetTrigAuxContainer#HLT_a4tcemnojcalibFSAux.',               'BS ESD AODFULL AODSLIM', 'Jet'),
 
     # em clusters Partial Scan
     ('xAOD::JetContainer#HLT_a4tcemPS',                                  '',                       'Jet'),
@@ -396,8 +424,8 @@ TriggerHLTList = [
     ('xAOD::JetTrigAuxContainer#HLT_a10tcemsubFSAux.',                   'BS ESD AODFULL', 'Jet'),
     ('xAOD::JetContainer#HLT_a10tcemjesFS',                              'BS ESD AODFULL', 'Jet'),
     ('xAOD::JetTrigAuxContainer#HLT_a10tcemjesFSAux.',                   'BS ESD AODFULL', 'Jet'),
-    ('xAOD::JetContainer#HLT_a10tcemsubjesFS',                           'BS ESD AODFULL', 'Jet'),
-    ('xAOD::JetTrigAuxContainer#HLT_a10tcemsubjesFSAux.',                'BS ESD AODFULL', 'Jet'),
+    ('xAOD::JetContainer#HLT_a10tcemsubjesFS',                           'BS ESD AODFULL AODSLIM', 'Jet'),
+    ('xAOD::JetTrigAuxContainer#HLT_a10tcemsubjesFSAux.',                'BS ESD AODFULL AODSLIM', 'Jet'),
     ('xAOD::JetContainer#HLT_a10tcemnojcalibFS',                         'BS ESD AODFULL AODSLIM', 'Jet'),
     ('xAOD::JetTrigAuxContainer#HLT_a10tcemnojcalibFSAux.',              'BS ESD AODFULL AODSLIM', 'Jet'),
     
@@ -461,8 +489,10 @@ TriggerHLTList = [
     ('xAOD::VertexContainer#HLT_SecondaryVertex',                        'BS ESD AODFULL AODSLIM', 'Bjet'),
     ('xAOD::VertexAuxContainer#HLT_SecondaryVertexAux.',                 'BS ESD AODFULL AODSLIM', 'Bjet'), 
 
-    ('xAOD::HIEventShapeContainer_v1#HLT_HIUE',                          'BS ESD AODFULL AODSLIM', 'HeavyIon'),
-    ('xAOD::HIEventShapeAuxContainer_v1#HLT_HIUEAux.',                   'BS ESD AODFULL AODSLIM', 'HeavyIon'),
+    (chooseOneWithDefinedCCLID('xAOD::HIEventShapeContainer_v1',
+                               'xAOD::HIEventShapeContainer')+ '#HLT_HIUE',                          'BS ESD AODFULL AODSLIM', 'HeavyIon'),
+    (chooseOneWithDefinedCCLID('xAOD::HIEventShapeAuxContainer_v1', 
+                               'xAOD::HIEventShapeAuxContainer')+'#HLT_HIUEAux.',                   'BS ESD AODFULL AODSLIM', 'HeavyIon'),
 
     # start of L2+EF list
 
@@ -483,8 +513,8 @@ TriggerHLTList = [
     #    ('TrigRoiDescriptor#HLT_TrigCaloRinger',                              '',                       'Egamma'), 
     ('TrigRoiDescriptor#HLT_ReverseRoI',                                  '',                       'Steer'),        # maybe L1?
     ('TrigRoiDescriptor#HLT_TrigJetRec',                                  'BS ESD',                 'Bjet'),
-    ('TrigRoiDescriptor#HLT_TrigSplitJet',                                'BS ESD',                 'Bjet'),
-    ('TrigRoiDescriptor#HLT_TrigSuperRoi',                                'BS ESD',                 'Bjet'),
+    ('TrigRoiDescriptor#HLT_SplitJet',                                    'BS ESD AODFULL',         'Tracking'),
+    ('TrigRoiDescriptor#HLT_SuperRoi',                                    'BS ESD AODFULL',         'Tracking'),
     ('TrigPassBits#HLT_passbits',                                         'BS ESD AODFULL AODSLIM', 'Steer'),
     ('TrigPassFlags#HLT_passflags',                                       'BS ESD AODFULL AODSLIM', 'Steer'),
     
@@ -587,6 +617,8 @@ TriggerHLTList = [
     ('CaloCellContainer#HLT_TrigT2CaloEgammaCells',                       'BS ESD',   'Egamma'), 
     ('CaloCellContainer#HLT_TrigT2CaloTauCells',                          'BS ESD',   'Tau'), 
 
+    #('CaloClusterCellLinkContainer#HLT_TrigCaloClusterMaker_Link',        'BS ESD', 'Calo'),
+
     ('MuonFeatureDetails#HLT',                                            'BS ESD AODFULL AODSLIM',  'Muon'),
 
     # == EF List
@@ -676,7 +708,8 @@ TriggerHLTList = [
     ('TrigMonEvent#HLT_OPI_EF_monitoring_event',                          'BS',                      'Steer'),
     ('CaloCellContainer#HLT_TrigCaloCellMaker_eGamma',                    'BS ESD',                  'Calo'), 
     ('CaloCellContainer#HLT_TrigCaloCellMaker_tau',                       'BS ESD',                  'Calo'),  
-    ('CaloCellContainer#HLT_TrigCaloCellLoF',                             'BS ESD',                  'Calo')         # category?  
+    ('CaloCellContainer#HLT_TrigCaloCellLoF',                             'BS ESD',                  'Calo'),        # category?  
+    #('CaloCellContainer#HLT_TrigCaloCellMaker', 			  'BS ESD', 		     'Calo'),
     # == end of L2+EF lists
 
 ]
@@ -710,6 +743,11 @@ TriggerLvl1List=[
     ('xAOD::TriggerTowerContainer#TriggerTowersMuon' ,'ESD',                 'L1'),
     ('xAOD::TriggerTowerAuxContainer#TriggerTowersMuonAux.' ,'ESD',          'L1'),
 
+    ('xAOD::CPMTowerContainer#CPMTowers' ,               'ESD', 'L1'),
+    ('xAOD::CPMTowerAuxContainer#CPMTowersAux.' ,        'ESD', 'L1'),
+    ('xAOD::CPMTowerContainer#CPMTowersOverlap' ,        'ESD', 'L1'),
+    ('xAOD::CPMTowerAuxContainer#CPMTowersOverlapAux.' , 'ESD', 'L1'),
+
     ('DataVector<LVL1::JetElement>#JetElements' ,        'ESD', 'L1'),
     ('DataVector<LVL1::JetElement>#JetElementsOverlap' , 'ESD', 'L1'),
     ('DataVector<LVL1::CPMTower>#CPMTowers' ,            'ESD', 'L1'),
@@ -809,6 +847,7 @@ EDMDetails[ "JetMomentMap" ]              = {'persistent':"JetMomentMapCollectio
 EDMDetails[ "JetCollection" ]             = {'persistent':"JetCollection_tlp6",                   'typealias':'JetColl' }
 #EDMDetails[ "JetCollection" ]             = {'persistent':"JetCollection_tlp5",                   'typealias':'JetColl' }
 
+#EDMDetails[ "CaloClusterCellLinkContainer"] = {'persistent':"CaloClusterCellLinkContainer",       'typealias':''}
 EDMDetails[ "CaloClusterContainer" ]      = {'persistent':"CaloClusterContainer_p4",              'typealias':'CaloCl' }
 EDMDetails[ "CaloCellLinkContainer" ]     = {'persistent':"CaloCellLinkContainer_p2",             'typealias':'CaloLk' }
 EDMDetails[ "CaloShowerContainer" ]       = {'persistent':"CaloShowerContainer_p2",               'typealias':'CaloSh' }
@@ -901,8 +940,8 @@ EDMDetails["xAOD::TauJetAuxContainer" ]        = {'persistent':"",
 EDMDetails["xAOD::VertexContainer" ]           = {'persistent':"",              'typealias':'' }
 EDMDetails["xAOD::VertexAuxContainer" ]        = {'persistent':"",              'typealias':'', 'parent': 'xAOD::VertexContainer'}
 
-EDMDetails["xAOD::HIEventShapeContainer_v1" ]    = {'persistent':"",              'typealias':'' }
-EDMDetails["xAOD::HIEventShapeAuxContainer_v1" ] = {'persistent':"",              'typealias':'', 'parent': 'xAOD::HIEventShapeContainer_v1'}
+EDMDetails[chooseOneWithDefinedCCLID("xAOD::HIEventShapeContainer_v1", "xAOD::HIEventShapeContainer") ]    = {'persistent':"",              'typealias':'' }
+EDMDetails[chooseOneWithDefinedCCLID("xAOD::HIEventShapeAuxContainer_v1", "xAOD::HIEventShapeAuxContainer") ] = {'persistent':"",              'typealias':'', 'parent': chooseOneWithDefinedCCLID('xAOD::HIEventShapeContainer_v1', 'xAOD::HIEventShapeContainer')}
 
 EDMDetails["xAOD::TrigCompositeContainer"]     = {'persistent':'', 		'typealias':''} 
 EDMDetails["xAOD::TrigCompositeAuxContainer"]  = {'persistent':'', 		'typealias':'', 'parent': 'xAOD::TrigCompositeContainer'} 
@@ -911,7 +950,7 @@ EDMDetails["xAOD::MuonRoIAuxContainer"]        = {'persistent':"",
 EDMDetails["xAOD::EmTauRoIContainer"]          = {'persistent':"",              'typealias':'' }
 EDMDetails["xAOD::EmTauRoIAuxContainer"]       = {'persistent':"",              'typealias':'', 'parent': 'xAOD::EmTauRoIContainer'}
 EDMDetails["xAOD::JetRoIContainer"]            = {'persistent':"",              'typealias':'' }
-EDMDetails["xAOD::JetRoIAuxContainer"]         = {'persistent':"",              'typealias':'', 'parent': 'xAOD::JetRoIAuxContainer'}
+EDMDetails["xAOD::JetRoIAuxContainer"]         = {'persistent':"",              'typealias':'', 'parent': 'xAOD::JetRoIContainer'}
 
 EDMDetails["xAOD::JetEtRoI"]                   = {'persistent':"",              'typealias':'' }
 EDMDetails["xAOD::JetEtRoIAuxInfo"]            = {'persistent':"",              'typealias':'', 'parent': 'xAOD::JetEtRoI'}
@@ -940,6 +979,7 @@ EDMDetails["xAOD::TrigTrackCountsAuxContainer" ]          = {'persistent':"",
 EDMDetails["xAOD::TrigT2ZdcSignals" ]                     = {'persistent':"",   'typealias':'', 'collection':"xAOD::TrigT2ZdcSignalsContainer"}
 EDMDetails["xAOD::TrigT2ZdcSignalsAuxContainer" ]         = {'persistent':"",   'typealias':'', 'parent': 'xAOD::TrigT2ZdcSignalsContainer'}
 
+EDMDetails["xAOD::TrigMissingET"]              = {'persistent':"",              'typealias':'', 'collection':"xAOD::TrigMissingETContainer"}
 EDMDetails["xAOD::TrigMissingETContainer"]     = {'persistent':"",              'typealias':'' }
 EDMDetails["xAOD::TrigMissingETAuxContainer"]  = {'persistent':"",              'typealias':'', 'parent': 'xAOD::TrigMissingETContainer'}
 
@@ -959,12 +999,15 @@ EDMDetails["xAOD::TrigConfKeys"]               = {'persistent':"",
 EDMDetails["xAOD::TrigNavigation"]          = {'persistent':"",              'typealias':'' } 
 EDMDetails["xAOD::TrigNavigationAuxInfo"]   = {'persistent':"",              'typealias':'', 'parent': 'xAOD::TrigNavigation'}
 
-
 EDMDetails["xAOD::BTaggingContainer"]          = {'persistent':"",              'typealias':'' }
 EDMDetails["xAOD::BTaggingAuxContainer"]       = {'persistent':"",              'typealias':'', 'parent': 'xAOD::BTaggingContainer'}
 EDMDetails["xAOD::BTagVertexContainer"]        = {'persistent':"",              'typealias':'' }
 EDMDetails["xAOD::BTagVertexAuxContainer"]     = {'persistent':"",              'typealias':'', 'parent': 'xAOD::BTagVertexContainer'}
 
+EDMDetails["xAOD::CPMTowerContainer"]    = {'persistent':"", 'typealias':''}
+EDMDetails["xAOD::CPMTowerAuxContainer"] = {'persistent':"", 'typealias':'', 'parent': 'xAOD::CPMTowerContainer'}
+
+
 #
 # Rustem Ospanov: move list of EDM libraries from HLTTriggerGetter.py to TriggerEDM.py
 #
diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysis.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysis.py
new file mode 100644
index 00000000000..9e6eba583c9
--- /dev/null
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysis.py
@@ -0,0 +1,209 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+# ********************* WARNING **********************
+#
+# In order to preserve backward compatibility, please 
+#                  !!!!DO NOT!!!
+# modify an existing key, simply add the new
+# one after the old one.
+# If old one is not going to be needed leave the destionations tag list empty.
+# (there are examples below)
+# 
+# This is to ensure we will be able to read datasets
+# produced with older versions of the reconstruction program.
+#
+# ****************************************************
+
+#type/key destination tag (this tag is configure in JO and selects the objects whcih go to ESD AOD (prefix)
+# (note that for L2 order matters, there might be not enough space for this at the end of the list so add there low priority objects)
+
+# In Trigger*List, 3rd field holds the category of the trigger container
+# Current categories
+#	Bjet
+#	Bphys
+#	Config
+#	Cosmics
+#	Egamma
+#	ID
+#	Jet
+#	L1
+#	MET
+#	MinBias
+#	Muon
+#	Steer
+#	Tau
+#	Calo       <-- new
+#	Tracking   <-- new
+#	Combined   <-- new
+#	Unknown    <-- should be temporary until you figure out what to classify it as
+#	Other?...maybe inDet(ID?), Truth
+
+from TrigEDMConfig.TriggerEDMRun1 import TriggerL2List,TriggerEFList,TriggerResultsRun1List
+
+#####################
+#####################
+# Container Slimming
+#
+# Here are the definitions of the strings which will be used to slim containers
+# String to separate EDM members
+identifier = ".-"
+
+# ID Triggers
+# ID Variables to be slimmed away
+UnusedIDVariables = ["trackParameterCovarianceMatrices", "parameterX", "parameterY", "parameterZ", "parameterPX",
+                     "parameterPY", "parameterPZ", "parameterPosition"]
+
+# Combine them into a string
+RemoveIDVariables = ".-"+identifier.join(UnusedIDVariables)
+
+# Tau Triggers
+# Tau Trigger Variables to be slimmed away
+PanTauVars = [ "pantau_CellBasedInput_isPanTauCandidate", "pantau_CellBasedInput_DecayModeProto", "pantau_CellBasedInput_DecayMode",
+               "pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n", "pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn",
+               "pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn", "pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts",
+               "pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt", "pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts",
+               "pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM", "pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1",
+               "pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2", "pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts",
+               "pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts", "pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed",
+               "pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged", "pantau_CellBasedInput_BDTVar_Charged_HLV_SumM",
+               "ptPanTauCellBasedProto", "etaPanTauCellBasedProto", "phiPanTauCellBasedProto", "mPanTauCellBasedProto", "ptPanTauCellBased",
+               "etaPanTauCellBased", "phiPanTauCellBased", "mPanTauCellBased" ]
+
+PFOs = ["chargedPFOLinks", "neutralPFOLinks", "pi0PFOLinks", "protoChargedPFOLinks", "protoNeutralPFOLinks", "protoPi0PFOLinks",
+        "shotPFOLinks", "hadronicPFOLinks" ]
+
+EFlow = ["etEflow", "mEflow", "nPi0", "nCharged", "etEflowTopo", "mEflowTopo", "ptRatioEflowTopo", "nPi0Topo", "nChargedTopo",
+         "ptRatioEflow", "pi0ConeDR" ]
+
+Samplings = ["cellBasedEnergyRing1", "cellBasedEnergyRing2", "cellBasedEnergyRing3", "cellBasedEnergyRing4", "cellBasedEnergyRing5",
+             "cellBasedEnergyRing6", "cellBasedEnergyRing7", "PSSFraction", "ele_E237E277", "ele_PresamplerFraction",
+             "ele_ECALFirstFraction", "TRT_NHT_OVER_NLT" ]
+
+UnusedOldTau = ["ipZ0SinThetaSigLeadTrk", "trkWidth2", "numEffTopoClusters", "topoInvMass",
+                "effTopoInvMass", "topoMeanDeltaR", "effTopoMeanDeltaR", "isolFrac", "stripWidth2",
+                "nStrip", "seedCalo_eta", "seedCalo_phi", "trkAvgDist", "trkRmsDist"
+                "lead2ClusterEOverAllClusterE", "lead3ClusterEOverAllClusterE", "secMaxStripEt",
+                "sumEMCellEtOverLeadTrkPt", "hadLeakEt", "caloIso", "caloIsoCorrected" ]
+
+UnusedProperties = ["Likelihood", "SafeLikelihood", "BDTEleScore", "BDTJetScoreSigTrans", "BDTJetScoreBkgTrans",
+                    "vetoFlags", "isTauFlags", "trackFlags", "trackFilterProngs", "trackFilterQuality", "trackEtaStrip", "trackPhiStrip",
+                    "TauJetVtxFraction" ]
+
+UnusedFourMom = ["ptIntermediateAxis", "etaIntermediateAxis", "phiIntermediateAxis", "mIntermediateAxis",
+                 "ptTauEtaCalib", "etaTauEtaCalib", "phiTauEtaCalib", "mTauEtaCalib", "EM_TES_scale"]
+
+# Combine them into a string
+UnusedTauVariables = PanTauVars + PFOs + EFlow + Samplings + UnusedOldTau + UnusedProperties + UnusedFourMom
+RemoveTauVariables = ".-"+identifier.join(UnusedTauVariables)
+
+
+# Done Slimming
+#####################
+#####################
+
+TriggerHLTList = [
+ 
+    #egamma
+    ('xAOD::ElectronContainer#HLT_egamma_Electrons',                'BS ESD AODFULL AODSLIM', 'Egamma'),
+    ('xAOD::ElectronAuxContainer#HLT_egamma_ElectronsAux.',         'BS ESD AODFULL AODSLIM', 'Egamma'), 
+    ('xAOD::PhotonContainer#HLT_egamma_Photons',                    'BS ESD AODFULL AODSLIM', 'Egamma'),
+    ('xAOD::PhotonAuxContainer#HLT_egamma_PhotonsAux.',             'BS ESD AODFULL AODSLIM', 'Egamma'), 
+
+    #bphys
+    ('xAOD::TrigBphysContainer#HLT_EFBMuMuFex',                               'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrigBphysAuxContainer#HLT_EFBMuMuFexAux.',                        'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrigBphysContainer#HLT_EFBMuMuXFex',                              'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrigBphysAuxContainer#HLT_EFBMuMuXFexAux.',                       'BS ESD AODFULL AODSLIM',  'Bphys'),
+
+    ('xAOD::TrigBphysContainer#HLT_EFTrackMass',                              'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrigBphysAuxContainer#HLT_EFTrackMassAux.',                       'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrigBphysContainer#HLT_EFMultiMuFex',                             'BS ESD AODFULL AODSLIM',  'Bphys'),
+    ('xAOD::TrigBphysAuxContainer#HLT_EFMultiMuFexAux.',                      'BS ESD AODFULL AODSLIM',  'Bphys'),
+
+    ('xAOD::TrigBphysContainer#HLT_L2BMuMuXFex',                                 'BS ESD AODFULL AODSLIM', 'Bphys'),
+    ('xAOD::TrigBphysAuxContainer#HLT_L2BMuMuXFexAux.',                          'BS ESD AODFULL AODSLIM', 'Bphys'),
+
+    #minbias
+    # MinBias algs attach single objects therefore the pattern is slightly different, note also changes in the EDMList which define feature -> collection mapping
+    ('xAOD::TrigSpacePointCounts#HLT_spacepoints',			         'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigSpacePointCountsAuxContainer#HLT_spacepointsAux.',		 'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigT2MbtsBits#HLT_T2Mbts',					         'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigT2MbtsBitsAuxContainer#HLT_T2MbtsAux.',				 'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigVertexCounts#HLT_vertexcounts',			     		 'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigVertexCountsAuxContainer#HLT_vertexcountsAux.',			 'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigTrackCounts#HLT_trackcounts',			       		 'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigTrackCountsAuxContainer#HLT_trackcountsAux.',			 'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigT2ZdcSignals#HLT_zdcsignals',                                    'BS ESD AODFULL AODSLIM',  'MinBias'),
+    ('xAOD::TrigT2ZdcSignalsAuxContainer#HLT_zdcsignalsAux.',                    'BS ESD AODFULL AODSLIM',  'MinBias'),
+
+    #taus
+    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged',                                 'BS ESD AODFULL AODSLIM', 'Tau'), 
+    ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMergedAux'+RemoveTauVariables,        'BS ESD AODFULL AODSLIM', 'Tau'), 
+
+    #MET
+    ('xAOD::TrigMissingETContainer#HLT_TrigEFMissingET',                                 'BS ESD AODFULL AODSLIM',                'MET'),
+    ('xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingETAux.',                          'BS ESD AODFULL AODSLIM',                'MET'),
+
+    #tracking
+    #fp
+    ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Muon_EFID',             'BS ESD AODFULL AODSLIM',  'Muon'),
+
+    ('xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrig',      'BS ESD AODFULL AODSLIM',  'Bphys'),
+
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Muon_EFIDAux.-caloExtension'+RemoveIDVariables,             'BS ESD AODFULL AODSLIM',  'Muon'),
+
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Muon_FTFAux'+RemoveIDVariables,              'BS ESD AODFULL AODSLIM',  'Muon'),
+    ('xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrigAux'+RemoveIDVariables,          'BS ESD AODFULL AODSLIM',  'Bphys'),
+
+    #jets
+    # antiKt1.0
+    # em  clusters Full Scan
+    ('xAOD::JetContainer#HLT_a10tcemnojcalibFS',                         'BS ESD AODFULL AODSLIM', 'Jet'),
+    ('xAOD::JetTrigAuxContainer#HLT_a10tcemnojcalibFSAux.',              'BS ESD AODFULL AODSLIM', 'Jet'),
+    
+    #btagging
+    ('xAOD::BTaggingContainer#HLT_HLTBjetFex',                           'BS ESD AODFULL AODSLIM', 'Bjet'),
+    ('xAOD::BTaggingAuxContainer#HLT_HLTBjetFexAux.',                    'BS ESD AODFULL AODSLIM', 'Bjet'),
+
+    # b-jets  
+    ('xAOD::JetContainer#HLT_EFJet',                                     'BS ESD AODFULL AODSLIM', 'Bjet'),
+    ('xAOD::JetTrigAuxContainer#HLT_EFJetAux.',                          'BS ESD AODFULL AODSLIM', 'Bjet'),
+    ('xAOD::JetContainer#HLT_SplitJet',                                  'BS ESD AODFULL AODSLIM', 'Bjet'),
+    ('xAOD::JetTrigAuxContainer#HLT_SplitJetAux.',                       'BS ESD AODFULL AODSLIM', 'Bjet'),
+
+    # start of L2+EF list
+
+    # particles == L2 List
+    ('TrigT2MbtsBits#HLT_T2Mbts',                                         'BS ESD AODFULL AODSLIM', 'MinBias'),
+    ('TrigSpacePointCounts#HLT_spacepoints',                              'BS ESD AODFULL AODSLIM', 'MinBias'), # ? do we realy need it!
+
+    # == EF List
+    ('TrigTrackCounts#HLT_trackcounts',                                   'BS ESD AODFULL AODSLIM',  'MinBias'), #? this is the CMS trigger obj
+    ('TrigVertexCounts#HLT_vertexcounts',                                 'BS ESD AODFULL AODSLIM',  'MinBias'),
+
+    # == end of L2+EF lists
+
+    ]
+
+TriggerResultsList=[
+    ('xAOD::TrigDecision#xTrigDecision' ,             'ESD AODFULL AODSLIM', 'Steer'),
+    ('xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.',   'ESD AODFULL AODSLIM', 'Steer'),
+    ('xAOD::TrigConfKeys#TrigConfKeys' ,              'ESD AODFULL AODSLIM', 'Steer'),
+    ('xAOD::TrigNavigation#TrigNavigation' ,          'ESD AODFULL AODSLIM', 'Steer'),
+    ('xAOD::TrigNavigationAuxInfo#TrigNavigationAux.','ESD AODFULL AODSLIM', 'Steer')
+    ]
+
+
+TriggerLvl1List=[
+    ('xAOD::MuonRoIContainer#LVL1MuonRoIs' ,          'ESD AODFULL AODSLIM', 'L1'),
+    ('xAOD::MuonRoIAuxContainer#LVL1MuonRoIsAux.' ,   'ESD AODFULL AODSLIM', 'L1'),
+    ('xAOD::EnergySumRoI#LVL1EnergySumRoI' ,          'ESD AODFULL AODSLIM', 'L1'),
+    ('xAOD::EnergySumRoIAuxInfo#LVL1EnergySumRoIAux.','ESD AODFULL AODSLIM', 'L1'),
+    ]
+
+
+
+TriggerIDTruth= [
+    ('TrigInDetTrackTruthMap#TrigInDetTrackTruthMap', 'ESD AODFULL AODSLIM', 'Unknown')
+    ]
+
diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysisShort.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysisShort.py
new file mode 100644
index 00000000000..100df1b5602
--- /dev/null
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMAnalysisShort.py
@@ -0,0 +1,199 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+__all__ = 'getTriggerDerivationConfig'
+
+TriggerDerivationConfig = {}
+
+
+# egamma
+egammavars = '.'.join([ 'eta', 'phi' ])
+TriggerDerivationConfig['egamma'] = [
+    'xAOD::ElectronContainer#HLT_egamma_Electrons',             
+    'xAOD::ElectronAuxContainer#HLT_egamma_ElectronsAux.' + egammavars,
+    'xAOD::PhotonContainer#HLT_egamma_Photons',
+    'xAOD::PhotonAuxContainer#HLT_egamma_PhotonsAux.' + egammavars
+    ]
+
+
+trackingvars = '.'.join([ 'pt', 'eta', 'phi', 'd0', 'z0'])
+
+# muon
+muonvars = '.'.join([ 'pt', 'eta', 'phi', 'muonType', 'author', 'inDetTrackParticleLink'])
+TriggerDerivationConfig['muon'] = [
+    'xAOD::MuonContainer#HLT_MuonEFInfo',
+    'xAOD::MuonAuxContainer#HLT_MuonEFInfoAux.' + muonvars,
+    # tracking
+    'xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Muon_EFID',
+    'xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Muon_EFIDAux.' + trackingvars,
+    ]
+
+
+
+# tau
+tauvars = '.'.join([ 'pt', 'eta', 'phi', 'm' ])
+TriggerDerivationConfig['tau'] = [
+    'xAOD::TauJetContainer#HLT_TrigTauRecMerged',
+    'xAOD::TauJetAuxContainer#HLT_TrigTauRecMergedAux.' + tauvars,
+    ]
+
+
+
+# jet
+
+jetvars = '.'.join([ 'pt', 'eta', 'phi' ])
+TriggerDerivationConfig['jet'] = [
+
+    # antiKt0.4
+    # em  clusters Full Scan
+    'xAOD::JetContainer#HLT_a4tcemsubjesFS',
+    'xAOD::JetTrigAuxContainer#HLT_a4tcemsubjesFSAux.' + jetvars,
+    'xAOD::JetContainer#HLT_a4tcemnojcalibFS',
+    'xAOD::JetTrigAuxContainer#HLT_a4tcemnojcalibFSAux.' + jetvars,
+
+    # antiKt1.0
+    # em  clusters Full Scan
+
+    'xAOD::JetContainer#HLT_a10tcemsubjesFS',
+    'xAOD::JetTrigAuxContainer#HLT_a10tcemsubjesFSAux.' + jetvars,
+    'xAOD::JetContainer#HLT_a10tcemnojcalibFS',
+    'xAOD::JetTrigAuxContainer#HLT_a10tcemnojcalibFSAux.' + jetvars,
+    ]
+
+
+
+# b-jets (variables not clearly defined)
+TriggerDerivationConfig['bjet'] = [
+    'xAOD::JetContainer#HLT_EFJet',
+    'xAOD::JetTrigAuxContainer#HLT_EFJetAux.',
+    'xAOD::JetContainer#HLT_SplitJet',
+    'xAOD::JetTrigAuxContainer#HLT_SplitJetAux.',
+    ]
+
+
+
+#btagging
+TriggerDerivationConfig['btagging'] = [
+    'xAOD::BTaggingContainer#HLT_HLTBjetFex',
+    'xAOD::BTaggingAuxContainer#HLT_HLTBjetFexAux.',
+    ]
+
+
+
+# b-physics (all variables)
+TriggerDerivationConfig['bphys'] = [
+    'xAOD::TrigBphysContainer#HLT_EFBMuMuFex',
+    'xAOD::TrigBphysAuxContainer#HLT_EFBMuMuFexAux.',
+    'xAOD::TrigBphysContainer#HLT_EFBMuMuXFex',
+    'xAOD::TrigBphysAuxContainer#HLT_EFBMuMuXFexAux.',
+
+    'xAOD::TrigBphysContainer#HLT_EFTrackMass',
+    'xAOD::TrigBphysAuxContainer#HLT_EFTrackMassAux.',
+    'xAOD::TrigBphysContainer#HLT_EFMultiMuFex',
+    'xAOD::TrigBphysAuxContainer#HLT_EFMultiMuFexAux.',
+
+    'xAOD::TrigBphysContainer#HLT_L2BMuMuXFex',
+    'xAOD::TrigBphysAuxContainer#HLT_L2BMuMuXFexAux.',
+
+    # tracking (the next two are also listed in the muon derivation list)
+    'xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Muon_EFID',
+    'xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Muon_EFIDAux.' + trackingvars,
+    'xAOD::TrackParticleContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrig',
+    'xAOD::TrackParticleAuxContainer#HLT_InDetTrigTrackingxAODCnv_Bphysics_IDTrigAux.' + trackingvars,
+    
+    ]
+
+
+
+
+#minbias
+TriggerDerivationConfig['minbias'] = [
+    'xAOD::TrigSpacePointCounts#HLT_spacepoints',
+    'xAOD::TrigSpacePointCountsAuxContainer#HLT_spacepointsAux.',
+    'xAOD::TrigT2MbtsBits#HLT_T2Mbts',
+    'xAOD::TrigT2MbtsBitsAuxContainer#HLT_T2MbtsAux.',
+    'xAOD::TrigVertexCounts#HLT_vertexcounts',
+    'xAOD::TrigVertexCountsAuxContainer#HLT_vertexcountsAux.',
+    'xAOD::TrigTrackCounts#HLT_trackcounts',
+    'xAOD::TrigTrackCountsAuxContainer#HLT_trackcountsAux.',
+    'xAOD::TrigT2ZdcSignals#HLT_zdcsignals',
+    'xAOD::TrigT2ZdcSignalsAuxContainer#HLT_zdcsignalsAux.',
+
+
+    # particles == L2 List
+    'TrigT2MbtsBits#HLT_T2Mbts',
+    'TrigSpacePointCounts#HLT_spacepoints',   # ? do we realy need it!
+
+    # == EF List
+    'TrigTrackCounts#HLT_trackcounts',        #? this is the CMS trigger obj
+    'TrigVertexCounts#HLT_vertexcounts',
+    ]
+
+
+
+metvars = '.'.join([ 'Met', 'Metx', 'Mety', 'MetPhi', 'SumET' ])
+TriggerDerivationConfig['met'] = [
+    'xAOD::TrigMissingETContainer#HLT_TrigEFMissingET',
+    'xAOD::TrigMissingETAuxContainer#HLT_TrigEFMissingETAux.' + metvars,
+    ]
+
+
+
+TriggerDerivationConfig['level1'] = [
+    'xAOD::MuonRoIContainer#LVL1MuonRoIs',
+    'xAOD::MuonRoIAuxContainer#LVL1MuonRoIsAux.' + '.'.join(['thrValue', 'eta', 'phi', 'RoI']),
+    'xAOD::EmTauRoIContainer#LVL1EmTauRoIs',
+    'xAOD::EmTauRoIAuxContainer#LVL1EmTauRoIsAux.',
+    'xAOD::JetRoIContainer#LVL1JetRoIs',
+    'xAOD::JetRoIAuxContainer#LVL1JetRoIsAux.',
+    'xAOD::JetEtRoI#LVL1JetEtRoI',
+    'xAOD::JetEtRoIAuxInfo#LVL1JetEtRoIAux.',
+    'xAOD::EnergySumRoI#LVL1EnergySumRoI',
+    'xAOD::EnergySumRoIAuxInfo#LVL1EnergySumRoIAux.',
+    ]
+
+
+
+TriggerDerivationConfig['decision'] = [
+    'xAOD::TrigDecision#xTrigDecision',
+    'xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.',
+    'xAOD::TrigConfKeys#TrigConfKeys',
+    ]
+
+
+
+TriggerDerivationConfig['navigation'] = [
+    'xAOD::TrigNavigation#TrigNavigation',
+    'xAOD::TrigNavigationAuxInfo#TrigNavigationAux.'
+    ]
+
+
+
+
+
+def getTriggerDerivationConfig(signatures):
+    from AthenaCommon.Logging import logging
+    logger = logging.getLogger( "TriggerEDMAnalysis.getTriggerDerivationConfig" )
+
+    # turn single string into list
+    if type(signatures) == str:
+        signatures = [signatures]
+
+    # check if signatures are requested that don't exist and print warning
+    unknownSignatures = [ s for s in signatures if not s in TriggerDerivationConfig ]
+    if unknownSignatures:
+        logger.warning("requesting derivation configuration for unknown trigger signatures: %s" % ", ".join(unknownSignatures) )
+    
+
+    # build list of collections for the requested signatures, removing duplicates
+    derivationCollections = []
+    for s in signatures:
+        if not s in signatures: continue
+
+        for c in TriggerDerivationConfig[s]:
+
+            if c in derivationCollections: continue
+
+            derivationCollections += [c]
+
+    return derivationCollections
+
-- 
GitLab