From d5c469b2e824d1ba40e440706033e103156c32aa Mon Sep 17 00:00:00 2001
From: ttpham <thi.thuy.hang.pham@cern.ch>
Date: Mon, 13 Jan 2025 22:53:14 +0100
Subject: [PATCH 1/2] Add SigC2455

---
 SigC2455/#info.yaml#                          |  26 +
 ...V_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py | 471 ++++++++++++++++++
 ...DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py | 454 +++++++++++++++++
 SigC2455/info.yaml                            |  26 +
 4 files changed, 977 insertions(+)
 create mode 100644 SigC2455/#info.yaml#
 create mode 100644 SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py
 create mode 100644 SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py
 create mode 100644 SigC2455/info.yaml

diff --git a/SigC2455/#info.yaml# b/SigC2455/#info.yaml#
new file mode 100644
index 0000000000..082bbfdd39
--- /dev/null
+++ b/SigC2455/#info.yaml#
@@ -0,0 +1,26 @@
+defaults:
+    application: DaVinci/v44r7
+    wg: SL
+    automatically_configure: yes
+    turbo: no
+    inform:
+        - thi.thuy.hang.pham@cern.ch
+
+{%- set datasets = [
+  ('Lc4toSigc02455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),  
+  ('Lc4toSigc02455_Lcmu_MC', 'MagUp',   'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),
+
+('Lc4toSigcpp2455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
+  ('Lc4toSigcpp2455_Lcmu_MC', 'MagUp',  'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
+
+
+]%}
+
+{%- for mode, polarity, DVfile, BKpath in datasets %}
+{{mode}}_{{polarity}}:
+    input:
+        bk_query: "{{BKpath}}"
+    options:
+        - {{DVfile}}
+    output: {{mode}}.root
+{%- endfor %}
diff --git a/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py b/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py
new file mode 100644
index 0000000000..0fc374d279
--- /dev/null
+++ b/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py
@@ -0,0 +1,471 @@
+##################
+nEvt = -1
+MODE = 'MC'
+##################
+
+from Gaudi.Configuration import *
+from Configurables import DecayTreeTuple, MCDecayTreeTuple, DaVinci, GaudiSequencer, DaVinciInit, XmlParserSvc, OfflineVertexFitter
+from Configurables import LoKi__HDRFilter as StripFilter
+from Configurables import FilterDesktop, FilterInTrees, PrintDecayTree, CombineParticles, OfflineVertexFitter, CheckPV, CondDB
+
+from DecayTreeTuple.Configuration import *
+from PhysSelPython.Wrappers import DataOnDemand
+from PhysConf.Selections import Selection, SelectionSequence, AutomaticData, CombineSelection
+
+from StandardParticles import StdNoPIDsPions as Pions
+from StandardParticles import StdNoPIDsKaons as Kaons
+from StandardParticles import StdNoPIDsProtons as Protons
+from StandardParticles import StdLoosePions as LoosePions
+from StandardParticles import StdAllLooseMuons
+
+import GaudiKernel.SystemOfUnits as Units
+
+Particles = 'Phys/B2DMuNuX_Lc/Particles'
+
+
+from Gaudi.Configuration import *
+from Configurables import DecayTreeTuple, LoKi__Hybrid__TupleTool, TupleToolDecay, TupleToolTrigger, TupleToolANNPID,L0TriggerTisTos, Hlt2TriggerTisTos,TriggerTisTos
+from Configurables import TupleToolTISTOS,TupleToolKinematic,TupleToolTrackInfo, TupleToolEventInfo, TupleToolRecoStats, TupleToolPid, TupleToolAngles,TupleToolPrimaries
+# from Configurables import TupleToolApplyIsolation
+# from Configurables import TupleToolSLTools
+
+########################
+Lb_comb = "(AMAXDOCA('') <1.0*mm)"
+cut_Lb = "(BPVDIRA > 0.999) & (MM>2*GeV) & (MM<8*GeV)  & (MINTREE((ABSID=='Lambda_c+'), VFASPF(VZ))-VFASPF(VZ) > -0.05)"# & (VFASPF(VCHI2/VDOF)<60.0)"
+
+Lc_comb = "ADAMASS('Lambda_c+')<500*MeV"
+cut_pipi = {'pi+' : "(PT > 200*MeV) & (P > 2000*MeV) & (TRCHI2DOF < 5) & (MIPCHI2DV(PRIMARY) > 1.)",
+            'pi-' : "(PT > 200*MeV) & (P > 2000*MeV) & (TRCHI2DOF < 5) & (MIPCHI2DV(PRIMARY) > 1.)"}
+cut_Lc = {'Lambda_c+' : "(VFASPF(VCHI2/VDOF) < 6)"}
+##### & (BPVVDCHI2 > 25)"}
+
+#### filter for muons and Lambda_c's
+mu_list = FilterInTrees('mu_list',Code="('mu-'==ABSID)")
+mu_sel = Selection('mu_sel',
+                   Algorithm=mu_list,
+                   RequiredSelections=[AutomaticData(Location=Particles)])
+mu_selseq = SelectionSequence("mu_selseq",TopSelection=mu_sel)
+
+Lc_list = FilterInTrees('Lc_list',Code="DECTREE('[Lambda_c+ -> p+ K- pi+]CC')")
+#Lc_list = FilterInTrees('Lc_list',Code="('Lambda_c+' == ABSID)")
+Lc_sel = Selection('Lc_sel',
+                     Algorithm = Lc_list,
+                     RequiredSelections=[AutomaticData(Location=Particles)])
+Lc_selseq = SelectionSequence('Lc_selseq',TopSelection=Lc_sel)
+
+##################################################### ADD SigmaC++ ############################################################
+
+#### build SigmaC_Plus by combining Lc and pi+
+SigmaC_Plus = CombineParticles("SigmaC_Plus",
+                        DecayDescriptors = ['[Sigma_c++ -> Lambda_c+ pi+ ]cc'],
+                        DaughtersCuts = cut_Lc,
+                        CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                        MotherCut = "(MM>0) & (MM<13000)",
+                        ReFitPVs = False)
+
+SigmaCplus_sel = Selection('SigmaCplus_sel',
+                     Algorithm = SigmaC_Plus,
+                     RequiredSelections = [Lc_sel,Pions])
+                                                
+#### build Lc(2625) by combining SigmaC++ and pi-
+Lcst = CombineParticles("Lcst",
+                        DecayDescriptors = ['[Lambda_c(2625)+ -> Sigma_c++ pi-]cc'],
+                        DaughtersCuts = cut_pipi, 
+                        CombinationCut = "AMAXDOCA('') < 1.0*mm",  
+                        MotherCut = "(MM>0) & (MM<13000)", 
+                        ReFitPVs = False)
+
+Lcst_sel = Selection("Lcst_sel",
+                     Algorithm = Lcst,
+                     RequiredSelections = [SigmaCplus_sel,Pions])
+                     
+                     
+#### build Lb by combining Lc(2625) mu-
+Lb2Lcpipimu = CombineParticles("Lb2Lcpipimu",
+                             DecayDescriptors = ['[Lambda_b0 -> Lambda_c(2625)+ mu-]cc'],
+                             DaughtersCuts = cut_pipi,
+                             CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                             MotherCut = cut_Lb,
+                             ReFitPVs = False)
+
+Lb2Lcpipimu_sel = Selection("Lb2Lcpipimu_sel",
+                          Algorithm = Lb2Lcpipimu,
+                          RequiredSelections = [Lcst_sel,mu_sel])
+
+Lb2Lcpipimu_selseq = SelectionSequence("Lb2Lcpipimu_selseq",TopSelection=Lb2Lcpipimu_sel)
+
+
+#### build Lb by combining Lc+ mu-                                                                                                               
+Lb2Lcmu = CombineParticles("Lb2Lcmu",
+                             DecayDescriptors = ['[Lambda_b0 -> Lambda_c+ mu-]cc'],
+                             DaughtersCuts = cut_Lc,
+                             CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                             MotherCut = cut_Lb,
+                             ReFitPVs = False)
+
+Lb2Lcmu_sel = Selection("Lb2Lcmu_sel",
+                          Algorithm = Lb2Lcmu,
+                          RequiredSelections = [Lc_sel,mu_sel])
+
+Lb2Lcmu_selseq = SelectionSequence("Lb2Lcmu_selseq",TopSelection=Lb2Lcmu_sel)
+
+
+
+#################################################################################################################################3
+########################
+
+
+
+#### Rerun Stripping removing PID constraints
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams
+from StrippingArchive import strippingArchive
+import shelve
+
+stripping = 'stripping29r2'
+config_db = strippingConfiguration(stripping)
+config = dict(config_db) # need to do this since the config_db is read-only
+config['B2DMuNuX']['CONFIG']['UseNoPIDsInputs'] = True
+config['B2DMuNuX']['CONFIG']['MuonPIDmu'] = -1000.
+config['B2DMuNuX']['CONFIG']['ProtonPIDp'] = -1000.
+config['B2DMuNuX']['CONFIG']['ProtonPIDpK'] = -1000.
+config['B2DMuNuX']['CONFIG']['KaonPIDK'] = -1000.
+config['B2DMuNuX']['CONFIG']['PionPIDK'] = 1000.
+config['B2DMuNuX']['CONFIG']['ElectronPIDe'] = -1000.
+# config['B2DMuNuX']['CONFIG']['HLT2'] = "HLT_PASS_RE('Hlt2.*Decision')"
+# config['B2DMuNuX']['CONFIG']['TTSpecs'] = {}
+config_db_updated = shelve.open('tmp_stripping_config.db')
+config_db_updated.update(config)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+myWG = "Semileptonic"
+streams = buildStreams(stripping = config_db_updated, archive = archive, WGs = myWG)
+
+from Configurables import ProcStatusCheck
+filterBadEvents = ProcStatusCheck()
+
+sc = StrippingConf( Streams = streams,
+                    MaxCandidates = 2000,
+                    AcceptBadEvents = False,
+                    BadEventSelection = filterBadEvents,
+                    TESPrefix = 'Strip' )
+
+from Configurables import StrippingReport
+sr = StrippingReport(Selections = sc.selections())
+sr.OnlyPositive = False
+location = ''
+
+# Need to remove stripping banks (if stripping has previously been run)
+from Configurables import EventNodeKiller
+eventNodeKiller = EventNodeKiller('Stripkiller')
+eventNodeKiller.Nodes = [ '/Event/AllStreams', '/Event/Strip' ]
+
+
+####################################################### DEFINE GENERATED LEVEL #######################################
+#### Setup MCDecayTreeTuples, saving all gen. events
+from Configurables import MCDecayTreeTuple, MCTupleToolKinematic, MCTupleToolHierarchy, LoKi__Hybrid__MCTupleTool, TupleToolMCTruth, TupleToolMCBackgroundInfo
+
+LoKi_Photos = LoKi__Hybrid__MCTupleTool("LoKi_Photos")
+LoKi_Photos.Variables = {
+    "nPhotons" : "MCNINTREE (('gamma'==MCABSID))",
+    "MC_PT"    : "MCPT",
+    "MC_THETA" : "MCTHETA",
+    "MC_ETA"   : "MCETA",
+    "MC_PHI"   : "MCPHI",
+    "MC_ABSID" : "MCABSID"
+    }
+
+
+############################################################ ADDED SigCpluspimunu -GEN LEVEL ##############################################################
+
+mctuple_SigCpluspimunu = MCDecayTreeTuple("mctuple_SigCpluspimunu")
+mctuple_SigCpluspimunu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c++ -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi+) ^pi-) ^mu- ^nu_mu~ ]CC"
+mctuple_SigCpluspimunu.Branches = {
+    "Lb"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    "Lcst"     : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~]CC",
+    
+    "SigC_Plus"	: "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    
+    "Lc"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> ^(Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    "pplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> ^p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    "Kminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ ^K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    "piplus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- ^pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    "muminus"  : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) ^mu- nu_mu~ ]CC",
+    "nu"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- ^nu_mu~ ]CC",
+    "pi1"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) ^pi+) pi-) mu- nu_mu~ ]CC",
+    "pi2"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) ^pi-) mu- nu_mu~ ]CC"
+}
+
+mctuple_SigCpluspimunu.addTool(MCTupleToolKinematic())
+mctuple_SigCpluspimunu.MCTupleToolKinematic.Verbose=True
+mctuple_SigCpluspimunu.addTupleTool(LoKi_Photos)
+mctuple_SigCpluspimunu.ToolList = ["MCTupleToolHierarchy",
+                              "MCTupleToolKinematic",
+                              "LoKi::Hybrid::MCTupleTool/LoKi_Photos",
+                              "MCTupleToolPrimaries"
+                              ]
+                              
+#############################################################################################################################################
+####################################################### DEFINE RECONSTRUCTED LEVEL #######################################
+
+from Configurables import TupleToolKinematic, TupleToolGeometry, TupleToolPrimaries, TupleToolRecoStats, TupleToolAngles
+from Configurables import TupleToolPid, TupleToolANNPID, TupleToolTrigger, TupleToolTrackInfo, TupleToolEventInfo
+from Configurables import TupleToolPi0Info, TupleToolDira, TupleToolMCBackgroundInfo, TupleToolMCTruth, TupleToolPropertime
+
+#### Now moving to reconstructed tuples
+tupletoolList =  ["TupleToolKinematic"
+                  , "TupleToolGeometry"
+                  , "TupleToolPrimaries"
+                  , "TupleToolRecoStats"
+                  , "TupleToolAngles"
+                  , "TupleToolPid"
+                  , "TupleToolANNPID"
+                  , "TupleToolTrigger"
+                  , "TupleToolTrackInfo"
+                  , "TupleToolEventInfo"
+                  , "TupleToolPi0Info"
+                  , "TupleToolDira"
+                  , "TupleToolPropertime"
+                  ]
+
+triggerList = ['L0MuonDecision'
+                , 'L0HadronDecision'
+                , 'Hlt1SingleMuonNoIPDecision'
+                , 'Hlt1SingleMuonHighPTDecision'
+                , 'Hlt1TrackAllL0Decision'
+                , 'Hlt1TrackMVADecision'
+                , 'Hlt1TrackMuonMVADecision'
+                , 'Hlt1TwoTrackMVADecision'
+                , 'Hlt1TrackMVADecision'
+                , 'Hlt1TrackMuonDecision'
+                , 'Hlt2SingleMuonDecision'
+                , 'Hlt2TopoMu2BodyDecision'
+                , 'Hlt2TopoMu3BodyDecision'
+                , 'Hlt2TopoMu4BodyDecision'
+                , 'Hlt2Topo2BodyDecision'
+                , 'Hlt2Topo3BodyDecision'
+                , 'Hlt2Topo4BodyDecision']
+
+TISTOSTool = TupleToolTISTOS('TISTOSTool')
+TISTOSTool.VerboseL0   = True
+TISTOSTool.VerboseHlt1 = True
+TISTOSTool.VerboseHlt2 = True
+TISTOSTool.TriggerList = triggerList[:]
+TISTOSTool.addTool(L0TriggerTisTos())
+TISTOSTool.addTool( TriggerTisTos, name="TriggerTisTos")
+
+# TISTOSTool.TriggerTisTos.TOSFracEcal = 0.
+# TISTOSTool.TriggerTisTos.TOSFracHcal = 0.
+
+HltTT = Hlt2TriggerTisTos()
+TISTOSTool.addTool(HltTT)
+
+from Configurables import LoKi__Hybrid__DictOfFunctors, LoKi__Hybrid__Dict2Tuple
+from Configurables import LoKi__Hybrid__DTFDict as DTFDict
+LoKi_Lb = LoKi__Hybrid__TupleTool("LoKi_Lb")
+LoKi_Lb.Variables = {"Best_PV_CORRM" : "BPVCORRM",
+                    "Best_PV_Eta"   : "BPVETA",
+                    "BPVDIRA"       : "BPVDIRA",
+                    "BPVLTIME"      : "BPVLTIME()",
+                    "BPVLTCHI2"     : "BPVLTCHI2()",
+                    "MM"            : "MM",
+                    "M"             : "M"}
+
+LoKi_Pi = LoKi__Hybrid__TupleTool("LoKi_Pi")
+LoKi_Pi.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF"}
+
+
+LoKi_Pi1 = LoKi__Hybrid__TupleTool("LoKi_Pi1")
+LoKi_Pi1.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF"}
+
+
+LoKi_Pi2 = LoKi__Hybrid__TupleTool("LoKi_Pi2")
+LoKi_Pi2.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF"}
+
+LoKi_SigmaC = LoKi__Hybrid__TupleTool("LoKi_SigmaC")
+LoKi_SigmaC.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF"}
+
+LoKi_Lc = LoKi__Hybrid__TupleTool("LoKi_Lc")
+LoKi_Lc.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF",
+                     "BPVVDCHI2" : "BPVVDCHI2"}
+
+LoKi_Mu = LoKi__Hybrid__TupleTool("LoKi_Mu")
+LoKi_Mu.Variables = {"NSHAREDMU" : "NSHAREDMU",
+                     "TRCHI2DOF" : "TRCHI2DOF",
+                     "MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     }
+
+LoKi_pair = LoKi__Hybrid__TupleTool("LoKi_pair")
+LoKi_pair.Variables =  {"Best_PV_CORRM" : "BPVCORRM",
+                        "Best_PV_Eta"   : "BPVETA",
+                        "BPVDIRA"       : "BPVDIRA",
+                        "MM"            : "MM",
+                        "M"             : "M"}
+
+################################################################# REC LEVEL #########################
+
+#### SigmaCpluspi mu tuples:
+tuple_SigCpluspimu = DecayTreeTuple( 'tuple_SigCpluspimu' )
+tuple_SigCpluspimu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c++ -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi+) ^pi-) ^mu-]CC"
+tuple_SigCpluspimu.Branches = {
+    "Lb"        : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu-]CC",
+    "Lcst"      : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu-]CC",
+    "SigC_Plus"	: "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu-]CC",
+    "Lc"        : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> ^(Lambda_c+ -> p+ K- pi+) pi+) pi-) mu-]CC",
+    "pplus"     : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> ^p+ K- pi+) pi+) pi-) mu-]CC",
+    "Kminus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ ^K- pi+) pi+) pi-) mu-]CC",
+    "piplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- ^pi+) pi+) pi-) mu-]CC",
+    "muminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) ^mu-]CC",
+    "pi1"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) ^pi+) pi-) mu-]CC",
+    "pi2"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) ^pi-) mu-]CC"
+    }
+
+tuple_Lcmu = DecayTreeTuple( 'tuple_Lcmu' )
+tuple_Lcmu.Decay = "[Lambda_b0 -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^mu-]CC"
+tuple_Lcmu.Branches = {
+    "Lb"        : "[Lambda_b0 -> (Lambda_c+ -> p+ K- pi+) mu-]CC",
+    "Lc"        : "[Lambda_b0 -> ^(Lambda_c+ -> p+ K- pi+) mu-]CC",
+    "pplus"     : "[Lambda_b0 -> (Lambda_c+ -> ^p+ K- pi+) mu-]CC",
+    "Kminus"    : "[Lambda_b0 -> (Lambda_c+ -> p+ ^K- pi+) mu-]CC",
+    "piplus"    : "[Lambda_b0 -> (Lambda_c+ -> p+ K- ^pi+) mu-]CC",
+    "muminus"   : "[Lambda_b0 -> (Lambda_c+ -> p+ K- pi+) ^mu-]CC",
+    }
+
+########################################
+
+tuple_SigCpluspimu.ToolList = tupletoolList[:]
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="Lb")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="Lcst")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="Lc")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="SigC_Plus")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="pplus")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="Kminus")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="piplus")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="muminus")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="pi1")
+tuple_SigCpluspimu.addTupleTool(TupleToolDecay, name="pi2")
+
+tuple_SigCpluspimu.muminus.addTupleTool(TISTOSTool, name="TISTOSTool")
+tuple_SigCpluspimu.Lb.addTupleTool(TISTOSTool, name="TISTOSTool")
+
+
+tuple_SigCpluspimu.addTool(TupleToolKinematic)
+tuple_SigCpluspimu.TupleToolKinematic.Verbose=1
+tuple_SigCpluspimu.ReFitPVs=False
+
+tuple_SigCpluspimu.muminus.addTupleTool(LoKi_Mu)
+tuple_SigCpluspimu.Lb.addTupleTool(LoKi_Lb)
+tuple_SigCpluspimu.Lc.addTupleTool(LoKi_Lc)
+tuple_SigCpluspimu.piplus.addTupleTool(LoKi_Pi)
+tuple_SigCpluspimu.SigC_Plus.addTupleTool(LoKi_SigmaC)
+tuple_SigCpluspimu.pi1.addTupleTool(LoKi_Pi1) 
+tuple_SigCpluspimu.pi2.addTupleTool(LoKi_Pi2) 
+
+tuple_SigCpluspimu.addTupleTool(TupleToolMCTruth, name="TupleToolMCTruth");
+#tuple_SigCpluspimu.addTupleTool(TupleToolMCBackgroundInfo,name="TupleToolMCBackgroundInfo");
+
+
+########################################                                                                                                          
+tuple_Lcmu.ToolList = tupletoolList[:]
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="Lb")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="Lc")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="pplus")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="Kminus")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="piplus")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="muminus")
+
+tuple_Lcmu.muminus.addTupleTool(TISTOSTool, name="TISTOSTool")
+tuple_Lcmu.Lb.addTupleTool(TISTOSTool, name="TISTOSTool")
+
+tuple_Lcmu.addTool(TupleToolKinematic)
+tuple_Lcmu.TupleToolKinematic.Verbose=1
+tuple_Lcmu.ReFitPVs=False
+
+tuple_Lcmu.muminus.addTupleTool(LoKi_Mu)
+tuple_Lcmu.Lb.addTupleTool(LoKi_Lb)
+tuple_Lcmu.Lc.addTupleTool(LoKi_Lc)
+tuple_Lcmu.piplus.addTupleTool(LoKi_Pi)
+
+tuple_Lcmu.addTupleTool(TupleToolMCTruth, name="TupleToolMCTruth");
+
+##### Configure Background Category #####
+from Configurables import BackgroundCategory
+BkgCat = BackgroundCategory()
+BkgCat.SemileptonicDecay = True
+BkgCat.NumNeutrinos = 1
+#BkgCat.InclusiveDecay = True
+TTBGCat = TupleToolMCBackgroundInfo("TTBGCat")
+TTBGCat.addTool(BkgCat)
+
+tuple_SigCpluspimu.addTupleTool(TTBGCat,name="TTBGCat")
+tuple_Lcmu.addTupleTool(TTBGCat,name="TTBGCat")
+
+
+########################################
+## Done building tuples. Configure DV ##
+########################################
+
+########################
+########################
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+SelDSTWriterElements = {
+    'default'              : stripDSTElements()
+    }
+SelDSTWriterConf = {
+    'default'              : stripDSTStreamConf()
+    }
+dstWriter = SelDSTWriter("MyDSTWriter",
+                         StreamConf = SelDSTWriterConf,
+                         MicroDSTElements = SelDSTWriterElements,
+                         OutputFileSuffix ='MC',
+                         SelectionSequences = sc.activeStreams()
+                         )
+########################
+########################
+
+#tuple_SigCpluspimu_rec.Inputs = [Lb2Lcmu_selseq.outputLocation()]
+#tuple_SigCpluspimu.Inputs = [Particles]
+tuple_SigCpluspimu.Inputs = [Lb2Lcpipimu_selseq.outputLocation()]
+tuple_Lcmu.Inputs = [Lb2Lcmu_selseq.outputLocation()]
+
+from Configurables import DaVinci, DaVinciInit, XmlParserSvc
+dv = DaVinci()
+#dv.Simulation = True
+#dv.Lumi = False
+########################
+########################
+dv.appendToMainSequence([eventNodeKiller])
+dv.appendToMainSequence([sc.sequence()])
+dv.appendToMainSequence([sr])
+dv.appendToMainSequence([Lb2Lcpipimu_selseq.sequence(), Lb2Lcmu_selseq.sequence() ,Lc_selseq.sequence(),mu_selseq.sequence()])
+########################
+########################
+dv.appendToMainSequence([mctuple_SigCpluspimunu, tuple_SigCpluspimu, tuple_Lcmu])
+#dv.TupleFile = "MC2017_Lc2880SigCpp2455pi_addedLcmu.root"
+#dv.InputType = 'DST'
+#dv.DataType = "2017"
+#dv.PrintFreq = 100
+#dv.EvtMax = nEvt
+
+MessageSvc().Format = "% F%60W%S%7W%R%T %0W%M"
+DaVinciInit().OutputLevel = ERROR
+MessageSvc().OutputLevel                  = 4
+ToolSvc().OutputLevel                     = 4
+
+# # TEST DATA
+# from Gaudi.Configuration import *
+# from GaudiConf import IOHelper
+# myLFNs = ["/eos/user/t/ttpham/00173714_00000105_7.AllStreams.dst"]
+# IOHelper().inputFiles(myLFNs,clear=True)
+
+ 
diff --git a/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py b/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py
new file mode 100644
index 0000000000..d4ed13cb67
--- /dev/null
+++ b/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py
@@ -0,0 +1,454 @@
+##################                                                                                                                           
+nEvt = -1
+MODE = 'MC'
+##################                                                                                                                                            
+
+from Gaudi.Configuration import *
+from Configurables import DecayTreeTuple, MCDecayTreeTuple, DaVinci, GaudiSequencer, DaVinciInit, XmlParserSvc, OfflineVertexFitter
+from Configurables import LoKi__HDRFilter as StripFilter
+from Configurables import FilterDesktop, FilterInTrees, PrintDecayTree, CombineParticles, OfflineVertexFitter, CheckPV, CondDB
+
+from DecayTreeTuple.Configuration import *
+from PhysSelPython.Wrappers import DataOnDemand
+from PhysConf.Selections import Selection, SelectionSequence, AutomaticData, CombineSelection
+
+from StandardParticles import StdNoPIDsPions as Pions
+from StandardParticles import StdNoPIDsKaons as Kaons
+from StandardParticles import StdNoPIDsProtons as Protons
+from StandardParticles import StdLoosePions as LoosePions
+from StandardParticles import StdAllLooseMuons
+
+import GaudiKernel.SystemOfUnits as Units
+
+Particles = 'Phys/B2DMuNuX_Lc/Particles'
+
+
+from Gaudi.Configuration import *
+from Configurables import DecayTreeTuple, LoKi__Hybrid__TupleTool, TupleToolDecay, TupleToolTrigger, TupleToolANNPID,L0TriggerTisTos, Hlt2TriggerTisTos,TriggerTisTos
+from Configurables import TupleToolTISTOS,TupleToolKinematic,TupleToolTrackInfo, TupleToolEventInfo, TupleToolRecoStats, TupleToolPid, TupleToolAngles,TupleToolPrimaries
+# from Configurables import TupleToolApplyIsolation                                                                             
+# from Configurables import TupleToolSLTools                       
+
+########################                                                                                                                                      
+Lb_comb = "(AMAXDOCA('') <1.0*mm)"
+cut_Lb = "(BPVDIRA > 0.999) & (MM>2*GeV) & (MM<8*GeV)  & (MINTREE((ABSID=='Lambda_c+'), VFASPF(VZ))-VFASPF(VZ) > -0.05)"# & (VFASPF(VCHI2/VDOF)<60.0)"        
+
+Lc_comb = "ADAMASS('Lambda_c+')<500*MeV"
+cut_pipi = {'pi+' : "(PT > 200*MeV) & (P > 2000*MeV) & (TRCHI2DOF < 5) & (MIPCHI2DV(PRIMARY) > 1.)",
+            'pi-' : "(PT > 200*MeV) & (P > 2000*MeV) & (TRCHI2DOF < 5) & (MIPCHI2DV(PRIMARY) > 1.)"}
+cut_Lc = {'Lambda_c+' : "(VFASPF(VCHI2/VDOF) < 6)"}
+##### & (BPVVDCHI2 > 25)"}                                                                                                                                    
+
+#### filter for muons and Lambda_c's                                                                                                                          
+mu_list = FilterInTrees('mu_list',Code="('mu-'==ABSID)")
+mu_sel = Selection('mu_sel',
+                   Algorithm=mu_list,
+                   RequiredSelections=[AutomaticData(Location=Particles)])
+mu_selseq = SelectionSequence("mu_selseq",TopSelection=mu_sel)
+
+Lc_list = FilterInTrees('Lc_list',Code="DECTREE('[Lambda_c+ -> p+ K- pi+]CC')")
+#Lc_list = FilterInTrees('Lc_list',Code="('Lambda_c+' == ABSID)")                                                                                             
+Lc_sel = Selection('Lc_sel',
+                     Algorithm = Lc_list,
+                     RequiredSelections=[AutomaticData(Location=Particles)])
+Lc_selseq = SelectionSequence('Lc_selseq',TopSelection=Lc_sel)
+
+##################################################### ADD SigmaC_0 ############################################################                              
+#### build SigmaC_0 by combining Lc and pi-                                                                                                                
+SigmaC_0 = CombineParticles("SigmaC_0",
+                        DecayDescriptors = ['[Sigma_c0 -> Lambda_c+ pi- ]cc'],
+                        DaughtersCuts = cut_Lc,
+                        CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                        MotherCut = "(MM>0) & (MM<13000)",
+                        ReFitPVs = False)
+
+Sigmac0_sel = Selection('Sigmac0_sel',
+                     Algorithm = SigmaC_0,
+                     RequiredSelections = [Lc_sel,Pions])
+
+#### build Lc(2625) by combining SigmaC++ and pi-                                                                                                             
+Lcst = CombineParticles("Lcst",
+                        DecayDescriptors = ['[Lambda_c(2625)+ -> Sigma_c0 pi+]cc'],
+                        DaughtersCuts = cut_pipi,
+                        CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                        MotherCut = "(MM>0) & (MM<13000)",
+                        ReFitPVs = False)
+
+
+Lcst_sel = Selection("Lcst_sel",
+                     Algorithm = Lcst,
+                     RequiredSelections = [Sigmac0_sel,Pions])
+
+
+#### build Lb by combining Lc(2625) mu-                                                                                                                       
+Lb2Lcpipimu = CombineParticles("Lb2Lcpipimu",
+                             DecayDescriptors = ['[Lambda_b0 -> Lambda_c(2625)+ mu-]cc'],
+                             DaughtersCuts = cut_pipi,
+                             CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                             MotherCut = cut_Lb,
+                             ReFitPVs = False)
+
+Lb2Lcpipimu_sel = Selection("Lb2Lcpipimu_sel",
+                          Algorithm = Lb2Lcpipimu,
+                          RequiredSelections = [Lcst_sel,mu_sel])
+
+Lb2Lcpipimu_selseq = SelectionSequence("Lb2Lcpipimu_selseq",TopSelection=Lb2Lcpipimu_sel)
+
+
+#### build Lb by combining Lc+ mu-                                                                                                               
+Lb2Lcmu = CombineParticles("Lb2Lcmu",
+                             DecayDescriptors = ['[Lambda_b0 -> Lambda_c+ mu-]cc'],
+                             DaughtersCuts = cut_Lc,
+                             CombinationCut = "AMAXDOCA('') < 1.0*mm",
+                             MotherCut = cut_Lb,
+                             ReFitPVs = False)
+
+Lb2Lcmu_sel = Selection("Lb2Lcmu_sel",
+                          Algorithm = Lb2Lcmu,
+                          RequiredSelections = [Lc_sel,mu_sel])
+
+Lb2Lcmu_selseq = SelectionSequence("Lb2Lcmu_selseq",TopSelection=Lb2Lcmu_sel)
+
+
+
+################################################################################################################################
+
+#### Rerun Stripping removing PID constraints                                                                                                                 
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams
+from StrippingArchive import strippingArchive
+import shelve
+
+stripping = 'stripping29r2'
+config_db = strippingConfiguration(stripping)
+config = dict(config_db) # need to do this since the config_db is read-only                                                                                   
+config['B2DMuNuX']['CONFIG']['UseNoPIDsInputs'] = True
+config['B2DMuNuX']['CONFIG']['MuonPIDmu'] = -1000.
+config['B2DMuNuX']['CONFIG']['ProtonPIDp'] = -1000.
+config['B2DMuNuX']['CONFIG']['ProtonPIDpK'] = -1000.
+config['B2DMuNuX']['CONFIG']['KaonPIDK'] = -1000.
+config['B2DMuNuX']['CONFIG']['PionPIDK'] = 1000.
+config['B2DMuNuX']['CONFIG']['ElectronPIDe'] = -1000.
+# config['B2DMuNuX']['CONFIG']['HLT2'] = "HLT_PASS_RE('Hlt2.*Decision')"                                                                                      
+# config['B2DMuNuX']['CONFIG']['TTSpecs'] = {}                                                                                                                
+config_db_updated = shelve.open('tmp_stripping_config.db')
+config_db_updated.update(config)
+#get the line builders from the archive                                                                                                                       
+archive = strippingArchive(stripping)
+myWG = "Semileptonic"
+streams = buildStreams(stripping = config_db_updated, archive = archive, WGs = myWG)
+
+from Configurables import ProcStatusCheck
+filterBadEvents = ProcStatusCheck()
+
+sc = StrippingConf( Streams = streams,
+                    MaxCandidates = 2000,
+                    AcceptBadEvents = False,
+                    BadEventSelection = filterBadEvents,
+                    TESPrefix = 'Strip' )
+from Configurables import StrippingReport
+sr = StrippingReport(Selections = sc.selections())
+sr.OnlyPositive = False
+location = ''
+
+# Need to remove stripping banks (if stripping has previously been run)                                                                                       
+from Configurables import EventNodeKiller
+eventNodeKiller = EventNodeKiller('Stripkiller')
+eventNodeKiller.Nodes = [ '/Event/AllStreams', '/Event/Strip' ]
+             
+####################################################### DEFINE GENERATED LEVEL #######################################    
+#### Setup MCDecayTreeTuples, saving all gen. events                                                                                                          
+from Configurables import MCDecayTreeTuple, MCTupleToolKinematic, MCTupleToolHierarchy, LoKi__Hybrid__MCTupleTool, TupleToolMCTruth, TupleToolMCBackgroundInfo
+
+LoKi_Photos = LoKi__Hybrid__MCTupleTool("LoKi_Photos")
+LoKi_Photos.Variables = {
+    "nPhotons" : "MCNINTREE (('gamma'==MCABSID))",
+    "MC_PT"    : "MCPT",
+    "MC_THETA" : "MCTHETA",
+    "MC_ETA"   : "MCETA",
+    "MC_PHI"   : "MCPHI",
+    "MC_ABSID" : "MCABSID"
+    }
+
+############################################################ ADDED SigCpluspimunu ##############################################################              
+
+mctuple_Sigc0pimunu = MCDecayTreeTuple("mctuple_Sigc0pimunu")
+mctuple_Sigc0pimunu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c0 -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi-) ^pi+) ^mu- ^nu_mu~ ]CC"
+mctuple_Sigc0pimunu.Branches = {
+    "Lb"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
+    "Lcst"     : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~]CC",
+
+    "SigC_0" : "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
+
+    "Lc"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> ^(Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
+    "pplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> ^p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
+    "Kminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ ^K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
+    "piplus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- ^pi+) pi-) pi+) mu- nu_mu~ ]CC",
+    "muminus"  : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) ^mu- nu_mu~ ]CC",
+    "nu"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- ^nu_mu~ ]CC",
+    "pi1"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) ^pi-) pi+) mu- nu_mu~ ]CC",
+    "pi2"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) ^pi+) mu- nu_mu~ ]CC"
+}
+
+mctuple_Sigc0pimunu.addTool(MCTupleToolKinematic())
+mctuple_Sigc0pimunu.MCTupleToolKinematic.Verbose=True
+mctuple_Sigc0pimunu.addTupleTool(LoKi_Photos)
+mctuple_Sigc0pimunu.ToolList = ["MCTupleToolHierarchy",
+                              "MCTupleToolKinematic",
+                              "LoKi::Hybrid::MCTupleTool/LoKi_Photos",
+                              "MCTupleToolPrimaries"
+                              ]
+
+#############################################################################################################################################                 
+####################################################### DEFINE RECONSTRUCTED LEVEL #######################################   
+
+from Configurables import TupleToolKinematic, TupleToolGeometry, TupleToolPrimaries, TupleToolRecoStats, TupleToolAngles
+from Configurables import TupleToolPid, TupleToolANNPID, TupleToolTrigger, TupleToolTrackInfo, TupleToolEventInfo
+from Configurables import TupleToolPi0Info, TupleToolDira, TupleToolMCBackgroundInfo, TupleToolMCTruth, TupleToolPropertime
+
+#### Now moving to reconstructed tuples                                                                                                                       
+tupletoolList =  ["TupleToolKinematic"
+                  , "TupleToolGeometry"
+                  , "TupleToolPrimaries"
+                  , "TupleToolRecoStats"
+                  , "TupleToolAngles"
+                  , "TupleToolPid"
+                  , "TupleToolANNPID"
+                  , "TupleToolTrigger"
+                  , "TupleToolTrackInfo"
+                  , "TupleToolEventInfo"
+                  , "TupleToolPi0Info"
+                  , "TupleToolDira"
+                  , "TupleToolPropertime"
+                  ]
+
+triggerList = ['L0MuonDecision'
+                , 'L0HadronDecision'
+                , 'Hlt1SingleMuonNoIPDecision'
+                , 'Hlt1SingleMuonHighPTDecision'
+                , 'Hlt1TrackAllL0Decision'
+            , 'Hlt1TrackMVADecision'
+                , 'Hlt1TrackMuonMVADecision'
+                , 'Hlt1TwoTrackMVADecision'
+            , 'Hlt1TrackMVADecision'
+                , 'Hlt1TrackMuonDecision'
+                , 'Hlt2SingleMuonDecision'
+            , 'Hlt2TopoMu2BodyDecision'
+                , 'Hlt2TopoMu3BodyDecision'
+                , 'Hlt2TopoMu4BodyDecision'
+                , 'Hlt2Topo2BodyDecision'
+                , 'Hlt2Topo3BodyDecision'
+                , 'Hlt2Topo4BodyDecision']
+
+
+TISTOSTool = TupleToolTISTOS('TISTOSTool')
+TISTOSTool.VerboseL0   = True
+TISTOSTool.VerboseHlt1 = True
+TISTOSTool.VerboseHlt2 = True
+TISTOSTool.TriggerList = triggerList[:]
+TISTOSTool.addTool(L0TriggerTisTos())
+TISTOSTool.addTool( TriggerTisTos, name="TriggerTisTos")
+
+# TISTOSTool.TriggerTisTos.TOSFracEcal = 0.                                                                                  
+# TISTOSTool.TriggerTisTos.TOSFracHcal = 0.                                                                                                                   
+
+HltTT = Hlt2TriggerTisTos()
+TISTOSTool.addTool(HltTT)
+
+from Configurables import LoKi__Hybrid__DictOfFunctors, LoKi__Hybrid__Dict2Tuple
+from Configurables import LoKi__Hybrid__DTFDict as DTFDict
+LoKi_Lb = LoKi__Hybrid__TupleTool("LoKi_Lb")
+LoKi_Lb.Variables = {"Best_PV_CORRM" : "BPVCORRM",
+                    "Best_PV_Eta"   : "BPVETA",
+                    "BPVDIRA"       : "BPVDIRA",
+                    "BPVLTIME"      : "BPVLTIME()",
+                    "BPVLTCHI2"     : "BPVLTCHI2()",
+                    "MM"            : "MM",
+                    "M"             : "M"}
+
+LoKi_Pi = LoKi__Hybrid__TupleTool("LoKi_Pi")
+LoKi_Pi.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF"}
+
+LoKi_SigmaC = LoKi__Hybrid__TupleTool("LoKi_SigmaC")
+LoKi_SigmaC.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF"}
+
+LoKi_Lc = LoKi__Hybrid__TupleTool("LoKi_Lc")
+LoKi_Lc.Variables = {"MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     "TRCHI2DOF" : "TRCHI2DOF",
+                     "BPVVDCHI2" : "BPVVDCHI2"}
+
+
+
+LoKi_Mu = LoKi__Hybrid__TupleTool("LoKi_Mu")
+LoKi_Mu.Variables = {"NSHAREDMU" : "NSHAREDMU",
+                     "TRCHI2DOF" : "TRCHI2DOF",
+                     "MIPCHI2DV_PRIMARY" : "MIPCHI2DV(PRIMARY)",
+                     }
+
+LoKi_pair = LoKi__Hybrid__TupleTool("LoKi_pair")
+LoKi_pair.Variables =  {"Best_PV_CORRM" : "BPVCORRM",
+                        "Best_PV_Eta"   : "BPVETA",
+                        "BPVDIRA"       : "BPVDIRA",
+                        "MM"            : "MM",
+                        "M"             : "M"}
+
+
+################################################################# REC LEVEL #########################33                                          #### SigmaCpluspi mu tuples:                                                                                                                                  
+tuple_Sigc0pimu = DecayTreeTuple( 'tuple_Sigc0pimu' )
+tuple_Sigc0pimu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c0 -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi-) ^pi+) ^mu-]CC"
+tuple_Sigc0pimu.Branches = {
+    "Lb"        : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu-]CC",
+    "Lcst"      : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu-]CC",
+    "SigC_0" : "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu-]CC",
+    "Lc"        : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> ^(Lambda_c+ -> p+ K- pi+) pi-) pi+) mu-]CC",
+    "pplus"     : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> ^p+ K- pi+) pi-) pi+) mu-]CC",
+    "Kminus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ ^K- pi+) pi-) pi+) mu-]CC",
+    "piplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- ^pi+) pi-) pi+) mu-]CC",
+    "muminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) ^mu-]CC",
+    "pi1"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) ^pi-) pi+) mu-]CC",
+    "pi2"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) ^pi+) mu-]CC"
+    }
+
+tuple_Lcmu = DecayTreeTuple( 'tuple_Lcmu' )
+tuple_Lcmu.Decay = "[Lambda_b0 -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^mu-]CC"
+tuple_Lcmu.Branches = {
+    "Lb"        : "[Lambda_b0 -> (Lambda_c+ -> p+ K- pi+) mu-]CC",
+    "Lc"        : "[Lambda_b0 -> ^(Lambda_c+ -> p+ K- pi+) mu-]CC",
+    "pplus"     : "[Lambda_b0 -> (Lambda_c+ -> ^p+ K- pi+) mu-]CC",
+    "Kminus"    : "[Lambda_b0 -> (Lambda_c+ -> p+ ^K- pi+) mu-]CC",
+    "piplus"    : "[Lambda_b0 -> (Lambda_c+ -> p+ K- ^pi+) mu-]CC",
+    "muminus"   : "[Lambda_b0 -> (Lambda_c+ -> p+ K- pi+) ^mu-]CC",
+    }
+
+
+########################################                                                                                                         
+tuple_Sigc0pimu.ToolList = tupletoolList[:]
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="Lb")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="Lcst")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="Lc")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="SigC_0")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="pplus")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="Kminus")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="piplus")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="muminus")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="pi1")
+tuple_Sigc0pimu.addTupleTool(TupleToolDecay, name="pi2")
+
+tuple_Sigc0pimu.muminus.addTupleTool(TISTOSTool, name="TISTOSTool")
+tuple_Sigc0pimu.Lb.addTupleTool(TISTOSTool, name="TISTOSTool")
+
+
+tuple_Sigc0pimu.addTool(TupleToolKinematic)
+tuple_Sigc0pimu.TupleToolKinematic.Verbose=1
+tuple_Sigc0pimu.ReFitPVs=False
+
+tuple_Sigc0pimu.muminus.addTupleTool(LoKi_Mu)
+tuple_Sigc0pimu.Lb.addTupleTool(LoKi_Lb)
+tuple_Sigc0pimu.Lc.addTupleTool(LoKi_Lc)
+tuple_Sigc0pimu.piplus.addTupleTool(LoKi_Pi)
+tuple_Sigc0pimu.SigC_0.addTupleTool(LoKi_SigmaC)
+
+
+tuple_Sigc0pimu.addTupleTool(TupleToolMCTruth, name="TupleToolMCTruth");
+#tuple_Sigc0pimu.addTupleTool(TupleToolMCBackgroundInfo,name="TupleToolMCBackgroundInfo");                                                                 
+
+
+########################################                                                                                                         \
+                                                                                                                                                  
+tuple_Lcmu.ToolList = tupletoolList[:]
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="Lb")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="Lc")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="pplus")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="Kminus")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="piplus")
+tuple_Lcmu.addTupleTool(TupleToolDecay, name="muminus")
+
+tuple_Lcmu.muminus.addTupleTool(TISTOSTool, name="TISTOSTool")
+tuple_Lcmu.Lb.addTupleTool(TISTOSTool, name="TISTOSTool")
+
+tuple_Lcmu.addTool(TupleToolKinematic)
+tuple_Lcmu.TupleToolKinematic.Verbose=1
+tuple_Lcmu.ReFitPVs=False
+
+tuple_Lcmu.muminus.addTupleTool(LoKi_Mu)
+tuple_Lcmu.Lb.addTupleTool(LoKi_Lb)
+tuple_Lcmu.Lc.addTupleTool(LoKi_Lc)
+tuple_Lcmu.piplus.addTupleTool(LoKi_Pi)
+
+tuple_Lcmu.addTupleTool(TupleToolMCTruth, name="TupleToolMCTruth");
+
+
+##### Configure Background Category #####                                                                                                                     
+from Configurables import BackgroundCategory
+BkgCat = BackgroundCategory()
+BkgCat.SemileptonicDecay = True
+BkgCat.NumNeutrinos = 1
+#BkgCat.InclusiveDecay = True                                                                                                                                 
+TTBGCat = TupleToolMCBackgroundInfo("TTBGCat")
+TTBGCat.addTool(BkgCat)
+
+tuple_Sigc0pimu.addTupleTool(TTBGCat,name="TTBGCat")
+tuple_Lcmu.addTupleTool(TTBGCat,name="TTBGCat")
+
+########################################                                                                                                                      
+## Done building tuples. Configure DV ##                                                                                                                      
+########################################             
+########################                                                                                                      
+########################                                                                                                                                      
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+SelDSTWriterElements = {
+    'default'              : stripDSTElements()
+    }
+SelDSTWriterConf = {
+    'default'              : stripDSTStreamConf()
+    }
+dstWriter = SelDSTWriter("MyDSTWriter",
+                         StreamConf = SelDSTWriterConf,
+                         MicroDSTElements = SelDSTWriterElements,
+                         OutputFileSuffix ='MC',
+                         SelectionSequences = sc.activeStreams()
+                         )
+########################                                                                                                                                      
+########################                                                           
+
+
+#tuple_Sigc0pimu_rec.Inputs = [Lb2Lcmu_selseq.outputLocation()]                                                                                            
+#tuple_Sigc0pimu.Inputs = [Particles]                                                                                                                      
+tuple_Sigc0pimu.Inputs = [Lb2Lcpipimu_selseq.outputLocation()]
+tuple_Lcmu.Inputs = [Lb2Lcmu_selseq.outputLocation()]
+
+from Configurables import DaVinci, DaVinciInit, XmlParserSvc
+dv = DaVinci()
+#dv.Simulation = True
+#dv.Lumi = False
+########################                                                                                                                                      
+########################                                                                                                                                      
+dv.appendToMainSequence([eventNodeKiller])
+dv.appendToMainSequence([sc.sequence()])
+dv.appendToMainSequence([sr])
+dv.appendToMainSequence([Lb2Lcpipimu_selseq.sequence(), Lb2Lcmu_selseq.sequence() ,Lc_selseq.sequence(),mu_selseq.sequence()])
+########################                                                                                                                                      
+########################                                                                                                                                      
+dv.appendToMainSequence([mctuple_Sigc0pimunu,tuple_Sigc0pimu , tuple_Lcmu])
+#dv.TupleFile = "MC2017_Lc2880Sigc02455pi_addedLcmu.root"
+#dv.InputType = 'DST'
+#dv.DataType = "2017"
+#dv.PrintFreq = 100
+#dv.EvtMax = nEvt
+
+MessageSvc().Format = "% F%60W%S%7W%R%T %0W%M"
+DaVinciInit().OutputLevel = ERROR
+MessageSvc().OutputLevel                  = 4
+ToolSvc().OutputLevel                     = 4
+
+# from Gaudi.Configuration import *                    
+# from GaudiConf import IOHelper                                                                                                                   
+# myLFNs = ["00173718_00000054_7.AllStreams.dst"]                                                                             
+# IOHelper().inputFiles(myLFNs,clear=True)               
diff --git a/SigC2455/info.yaml b/SigC2455/info.yaml
new file mode 100644
index 0000000000..082bbfdd39
--- /dev/null
+++ b/SigC2455/info.yaml
@@ -0,0 +1,26 @@
+defaults:
+    application: DaVinci/v44r7
+    wg: SL
+    automatically_configure: yes
+    turbo: no
+    inform:
+        - thi.thuy.hang.pham@cern.ch
+
+{%- set datasets = [
+  ('Lc4toSigc02455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),  
+  ('Lc4toSigc02455_Lcmu_MC', 'MagUp',   'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),
+
+('Lc4toSigcpp2455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
+  ('Lc4toSigcpp2455_Lcmu_MC', 'MagUp',  'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
+
+
+]%}
+
+{%- for mode, polarity, DVfile, BKpath in datasets %}
+{{mode}}_{{polarity}}:
+    input:
+        bk_query: "{{BKpath}}"
+    options:
+        - {{DVfile}}
+    output: {{mode}}.root
+{%- endfor %}
-- 
GitLab


From 452d36014d5fc7fe998942893ab66a63bc6ff6d7 Mon Sep 17 00:00:00 2001
From: ttpham <thi.thuy.hang.pham@cern.ch>
Date: Tue, 14 Jan 2025 20:55:21 +0100
Subject: [PATCH 2/2] add Sigc0_2455

---
 SigC2455/#info.yaml#                          |  5 ++-
 ...V_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py | 35 ++++++++++++-------
 ...DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py | 28 +++++++--------
 SigC2455/info.yaml                            |  4 ---
 4 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/SigC2455/#info.yaml# b/SigC2455/#info.yaml#
index 082bbfdd39..32d27da8be 100644
--- a/SigC2455/#info.yaml#
+++ b/SigC2455/#info.yaml#
@@ -11,7 +11,10 @@ defaults:
   ('Lc4toSigc02455_Lcmu_MC', 'MagUp',   'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),
 
 ('Lc4toSigcpp2455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
-  ('Lc4toSigcpp2455_Lcmu_MC', 'MagUp',  'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
+
+MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST
+
+('Lc4toSigcpp2455_Lcmu_MC', 'MagUp',  'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
 
 
 ]%}
diff --git a/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py b/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py
index 0fc374d279..1ef8d10877 100644
--- a/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py
+++ b/SigC2455/DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py
@@ -179,22 +179,31 @@ LoKi_Photos.Variables = {
 
 ############################################################ ADDED SigCpluspimunu -GEN LEVEL ##############################################################
 
+# mctuple_SigCpluspimunu = MCDecayTreeTuple("mctuple_SigCpluspimunu")
+# mctuple_SigCpluspimunu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c++ -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi+) ^pi-) ^mu- ^nu_mu~ ]CC"
+# mctuple_SigCpluspimunu.Branches = {
+#     "Lb"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+#     "Lcst"     : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~]CC",
+    
+#     "SigC_Plus"	: "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    
+#     "Lc"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> ^(Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+#     "pplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> ^p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+#     "Kminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ ^K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+#     "piplus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- ^pi+) pi+) pi-) mu- nu_mu~ ]CC",
+#     "muminus"  : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) ^mu- nu_mu~ ]CC",
+#     "nu"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- ^nu_mu~ ]CC",
+#     "pi1"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) ^pi+) pi-) mu- nu_mu~ ]CC",
+#     "pi2"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) ^pi-) mu- nu_mu~ ]CC"
+# }
+
 mctuple_SigCpluspimunu = MCDecayTreeTuple("mctuple_SigCpluspimunu")
-mctuple_SigCpluspimunu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c++ -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi+) ^pi-) ^mu- ^nu_mu~ ]CC"
+mctuple_SigCpluspimunu.Decay = "[Lambda_b0 -> ^D_s- ^Lambda_c+ ]CC"
 mctuple_SigCpluspimunu.Branches = {
-    "Lb"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
-    "Lcst"     : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~]CC",
-    
-    "SigC_Plus"	: "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
+    "Lb"       : "[Lambda_b0 -> D_s- Lambda_c+ ]CC",
+    "Lcst"     : "[Lambda_b0 -> ^D_s- Lambda_c+ ]CC",
+    "muminus"  : "[Lambda_b0 -> D_s- ^Lambda_c+ ]CC",
     
-    "Lc"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> ^(Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
-    "pplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> ^p+ K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
-    "Kminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ ^K- pi+) pi+) pi-) mu- nu_mu~ ]CC",
-    "piplus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- ^pi+) pi+) pi-) mu- nu_mu~ ]CC",
-    "muminus"  : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) ^mu- nu_mu~ ]CC",
-    "nu"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) pi-) mu- ^nu_mu~ ]CC",
-    "pi1"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) ^pi+) pi-) mu- nu_mu~ ]CC",
-    "pi2"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c++ -> (Lambda_c+ -> p+ K- pi+) pi+) ^pi-) mu- nu_mu~ ]CC"
 }
 
 mctuple_SigCpluspimunu.addTool(MCTupleToolKinematic())
diff --git a/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py b/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py
index d4ed13cb67..b7a1dfd514 100644
--- a/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py
+++ b/SigC2455/DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py
@@ -174,21 +174,21 @@ LoKi_Photos.Variables = {
 ############################################################ ADDED SigCpluspimunu ##############################################################              
 
 mctuple_Sigc0pimunu = MCDecayTreeTuple("mctuple_Sigc0pimunu")
-mctuple_Sigc0pimunu.Decay = "[Lambda_b0 -> ^(Lambda_c(2625)+ -> ^(Sigma_c0 -> ^(Lambda_c+ -> ^p+ ^K- ^pi+) ^pi-) ^pi+) ^mu- ^nu_mu~ ]CC"
+mctuple_Sigc0pimunu.Decay = "[Lambda_b0 ==> ^(Lambda_c(2625)+ ==> ^(Sigma_c0 ==> ^(Lambda_c+ ==> ^p+ ^K- ^pi+) ^pi-) ^pi+) ^mu- ^nu_mu~ ]CC"
 mctuple_Sigc0pimunu.Branches = {
-    "Lb"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
-    "Lcst"     : "[Lambda_b0 -> ^(Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~]CC",
-
-    "SigC_0" : "[Lambda_b0 -> (Lambda_c(2625)+ -> ^(Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
-
-    "Lc"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> ^(Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
-    "pplus"    : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> ^p+ K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
-    "Kminus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ ^K- pi+) pi-) pi+) mu- nu_mu~ ]CC",
-    "piplus"   : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- ^pi+) pi-) pi+) mu- nu_mu~ ]CC",
-    "muminus"  : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) ^mu- nu_mu~ ]CC",
-    "nu"       : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) pi+) mu- ^nu_mu~ ]CC",
-    "pi1"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) ^pi-) pi+) mu- nu_mu~ ]CC",
-    "pi2"      : "[Lambda_b0 -> (Lambda_c(2625)+ -> (Sigma_c0 -> (Lambda_c+ -> p+ K- pi+) pi-) ^pi+) mu- nu_mu~ ]CC"
+    "Lb"       : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "Lcst"     : "[Lambda_b0 ==> ^(Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X}]CC",
+
+    "SigC_0" : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> ^(Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+
+    "Lc"       : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> ^(Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "pplus"    : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> ^p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "Kminus"   : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ ^K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "piplus"   : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- ^pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "muminus"  : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) ^mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "nu"       : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- ^nu_mu~ {X} {X} {X} {X} ]CC",
+    "pi1"      : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) ^pi- {X} {X} {X} {X}) pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC",
+    "pi2"      : "[Lambda_b0 ==> (Lambda_c(2625)+ ==> (Sigma_c0 ==> (Lambda_c+ ==> p+ K- pi+ {X} {X} {X} {X}) pi- {X} {X} {X} {X}) ^pi+ {X} {X} {X} {X}) mu- nu_mu~ {X} {X} {X} {X} ]CC"
 }
 
 mctuple_Sigc0pimunu.addTool(MCTupleToolKinematic())
diff --git a/SigC2455/info.yaml b/SigC2455/info.yaml
index 082bbfdd39..a6051bbe3f 100644
--- a/SigC2455/info.yaml
+++ b/SigC2455/info.yaml
@@ -10,10 +10,6 @@ defaults:
   ('Lc4toSigc02455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),  
   ('Lc4toSigc02455_Lcmu_MC', 'MagUp',   'DV_MC2017_Lc2765toSigc02455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576015/ALLSTREAMS.DST'),
 
-('Lc4toSigcpp2455_Lcmu_MC', 'MagDown', 'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagDown-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
-  ('Lc4toSigcpp2455_Lcmu_MC', 'MagUp',  'DV_MC2017_Lc2765toSigCpp2455pi_addedLcmu.py', '/MC/2017/Beam6500GeV-2017-MagUp-Nu1.6-25ns-Pythia8/Sim10d/Trig0x62661709/Reco17/Turbo04a-WithTurcal/Stripping29r2NoPrescalingFlagged/15576014/ALLSTREAMS.DST'),
-
-
 ]%}
 
 {%- for mode, polarity, DVfile, BKpath in datasets %}
-- 
GitLab