From 72d1185c0419d64b9f48f9b36f58a8b3bca5ed70 Mon Sep 17 00:00:00 2001
From: Carlos VergelInfante <carlos.miguel.vergel.infante@cern.ch>
Date: Fri, 24 Aug 2018 16:25:25 +0200
Subject: [PATCH] Adding CoM information in the HIGG5D1, HIGG5D2 and HIGG2D4
 derivations

Former-commit-id: 0ab2e817004feca55de79f1fd07586e32bdd08ec
---
 .../python/HIGG5Common.py                     | 33 +++++++++++++++----
 .../DerivationFrameworkHiggs/share/HIGG2D4.py |  2 ++
 .../DerivationFrameworkHiggs/share/HIGG5D1.py |  2 ++
 .../DerivationFrameworkHiggs/share/HIGG5D2.py |  2 ++
 4 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py
index 0c882a5c78e..4214b9c4341 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py
@@ -35,6 +35,12 @@ def getHIGG5Common() :
         "CaloCalTopoClusters.CENTER_MAG.calE.calEta.calM.calPhi.calPt.e_sampl.etaCalo.eta_sampl.phiCalo.phi_sampl.rawE.rawEta.rawM.rawPhi",
         "TauChargedParticleFlowObjects.bdtPi0Score.e.eta.m.phi.pt.rapidity",
         "TrackCaloClustersCombinedAndNeutral.pt.eta.phi.m.taste.trackParticleLink.caloClusterLinks"
+        "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.ExCoM2SubJets",
+        "AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsExCoM2SubJets.pt.eta.phi.m",
+        ("AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2SubJets.btaggingLink.m_persKey.m_persIndex.Parent"
+             ".GhostBHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt"
+             ".GhostCHadronsFinal.GhostCHadronsFinalCount.GhostCHadronsFinalPt"),
+        "BTagging_AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub.MV2c10_discriminant.MV2c100_discriminant",
         ]
 
 def getHIGG5CommonTruthContainers() :
@@ -80,12 +86,16 @@ def getHIGG5CommonTruthDictionExtionson() :
 
 def getHIGG5CommonDictionExtionson(add_truth_if_mc=True) :
   common_dict = {
-      "AntiKtVR30Rmax4Rmin02TrackJets"         : "xAOD::JetContainer"        ,
-      "AntiKtVR30Rmax4Rmin02TrackJetsAux"      : "xAOD::JetAuxContainer"     ,
-      "BTagging_AntiKtVR30Rmax4Rmin02Track"    : "xAOD::BTaggingContainer"   ,
-      "BTagging_AntiKtVR30Rmax4Rmin02TrackAux" : "xAOD::BTaggingAuxContainer",
-      "BTagging_AntiKt4EMPFlow"                : "xAOD::BTaggingContainer"   ,
-      "BTagging_AntiKt4EMPFlowAux"             : "xAOD::BTaggingAuxContainer"
+      "AntiKtVR30Rmax4Rmin02TrackJets"                                    : "xAOD::JetContainer"        ,
+      "AntiKtVR30Rmax4Rmin02TrackJetsAux"                                 : "xAOD::JetAuxContainer"     ,
+      "BTagging_AntiKtVR30Rmax4Rmin02Track"                               : "xAOD::BTaggingContainer"   ,
+      "BTagging_AntiKtVR30Rmax4Rmin02TrackAux"                            : "xAOD::BTaggingAuxContainer",
+      "BTagging_AntiKt4EMPFlow"                                           : "xAOD::BTaggingContainer"   ,
+      "BTagging_AntiKt4EMPFlowAux"                                        : "xAOD::BTaggingAuxContainer",
+      "AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2SubJets"                 : "xAOD::JetContainer"        ,
+      "AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2SubJetsAux"              : "xAOD::JetAuxContainer"     ,
+      "BTagging_AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub"            : "xAOD::BTaggingContainer"   ,
+      "BTagging_AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2SubAux"         : "xAOD::BTaggingAuxContainer"
       }
   from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkIsMonteCarlo
   if add_truth_if_mc and DerivationFrameworkIsMonteCarlo:
@@ -419,3 +429,14 @@ def addJetOutputs(slimhelper,contentlist,smartlist=[],vetolist=[]):
             if add_item :
                 dfjetlog.info( "Add full jet collection "+item )
                 slimhelper.AllVariables.append(item)
+
+def addAntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub(sequence) :
+    ExKtJetCollection__FatJet = "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"
+    #  doTrackJet = False
+    from AthenaCommon.AppMgr import ToolSvc
+    from DerivationFrameworkFlavourTag.HbbCommon import addExKtCoM
+    ExCoMJetCollection__SubJet = addExKtCoM(sequence, ToolSvc, ExKtJetCollection__FatJet, 2, False, ["GhostBHadronsFinal","GhostCHadronsFinal"], 0, "CoM")
+
+    from BTagging.BTaggingFlags import BTaggingFlags
+    BTaggingFlags.CalibrationChannelAliases += [
+                   "AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub->AntiKt4LCTopo,AntiKt4TopoEM,AntiKt4EMTopo"]
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG2D4.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG2D4.py
index 9b0392dacdc..8d0a2ab89d0 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG2D4.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG2D4.py
@@ -272,6 +272,8 @@ if not "HIGG2D4Jets" in OutputJets:
     from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addTCCTrimmedJets
     addTCCTrimmedJets(higg2d4Seq, "HIGG2D4Jets")
 
+HIGG5Common.addAntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub(higg2d4Seq)
+
 #====================================================================
 # Create variable-R trackjets and dress AntiKt10LCTopo with ghost VR-trkjet 
 #====================================================================
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py
index 6a7ec87dc55..3b84ec3d8dc 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py
@@ -233,6 +233,8 @@ if not "HIGG5D1Jets" in OutputJets:
     from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addTCCTrimmedJets
     addTCCTrimmedJets(higg5d1Seq, "HIGG5D1Jets")
 
+HIGG5Common.addAntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub(higg5d1Seq)
+
 #====================================================================
 # Create variable-R trackjets and dress AntiKt10LCTopo with ghost VR-trkjet
 #====================================================================
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D2.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D2.py
index 1ca61faa006..1845a400d4c 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D2.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D2.py
@@ -294,6 +294,8 @@ if not "HIGG5D2Jets" in OutputJets:
     from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addTCCTrimmedJets
     addTCCTrimmedJets(higg5d2Seq, "HIGG5D2Jets")
 
+HIGG5Common.addAntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub(higg5d2Seq)
+
 #====================================================================
 # Create variable-R trackjets and dress AntiKt10LCTopo with ghost VR-trkjet 
 #====================================================================
-- 
GitLab