9 from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
   10 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
   11 from AthenaConfiguration.Enums 
import MetadataCategory
 
   13 BPHYDerivationName = 
"BPHY23" 
   14 streamName = 
"StreamDAOD_BPHY23" 
   17     from AthenaServices.PartPropSvcConfig 
import PartPropSvcCfg
 
   18     from DerivationFrameworkBPhys.commonBPHYMethodsCfg 
import (BPHY_V0ToolCfg,  BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
 
   19     from JpsiUpsilonTools.JpsiUpsilonToolsConfig 
import PrimaryVertexRefittingToolCfg
 
   22     isSimulation = flags.Input.isMC
 
   23     V0Tools = acc.popToolsAndMerge(
BPHY_V0ToolCfg(flags, BPHYDerivationName))
 
   25     acc.addPublicTool(vkalvrt)
 
   26     acc.addPublicTool(V0Tools)
 
   28     acc.addPublicTool(trackselect)
 
   30     acc.addPublicTool(vpest)
 
   60     BPHY23JpsiFinder = CompFactory.Analysis.JpsiFinder(
 
   61         name                        = 
"BPHY23JpsiFinder",
 
   64         TrackAndTrack               = 
False,
 
   66         trackThresholdPt            = 2400.,
 
   67         invMassLower                = Jpsi_lo,
 
   68         invMassUpper                = Upsi_hi,
 
   70         oppChargesOnly              = 
True,
 
   71         atLeastOneComb              = 
True,
 
   72         useCombinedMeasurement      = 
False, 
 
   73         muonCollectionKey           = 
"Muons",
 
   74         TrackParticleCollection     = 
"InDetTrackParticles",
 
   75         V0VertexFitterTool          = 
None,
 
   77         TrkVertexFitterTool         = vkalvrt, 
 
   78         TrackSelectorTool           = trackselect,
 
   79         VertexPointEstimator        = vpest,
 
   81     acc.addPublicTool(BPHY23JpsiFinder)
 
   83     BPHY23_Reco_mumu = CompFactory.DerivationFramework.Reco_Vertex(
 
   84         name                   = 
"BPHY23_Reco_mumu",
 
   85         VertexSearchTool       = BPHY23JpsiFinder,
 
   86         OutputVtxContainerName = 
"BPHY23OniaCandidates",
 
   87         PVContainerName        = 
"PrimaryVertices",
 
   88         RefPVContainerName     = 
"SHOULDNOTBEUSED",
 
   95     BPHY23PsiX3872_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
 
   96         name                                = 
"BPHY23PsiX3872_Jpsi2Trk",
 
   97         kaonkaonHypothesis          = 
False,
 
   98         pionpionHypothesis                  = 
True,
 
   99         kaonpionHypothesis                  = 
False,
 
  100         kaonprotonHypothesis                = 
False,
 
  101         trkThresholdPt              = 380.,
 
  103         oppChargesOnly                      = 
False,
 
  104         JpsiMassLower                       = Jpsi_lo,
 
  105         JpsiMassUpper                       = Jpsi_hi,
 
  106         TrkQuadrupletMassLower              = Psi_lo,
 
  107         TrkQuadrupletMassUpper              = Psi_hi,
 
  109         JpsiContainerKey                    = 
"BPHY23OniaCandidates",
 
  110         TrackParticleCollection             = 
"InDetTrackParticles",
 
  111         MuonsUsedInJpsi             = 
"Muons",
 
  112         ExcludeJpsiMuonsOnly                = 
True,
 
  113         TrkVertexFitterTool             = vkalvrt,
 
  114         TrackSelectorTool           = trackselect,
 
  115         UseMassConstraint                   = 
False)
 
  116     acc.addPublicTool(BPHY23PsiX3872_Jpsi2Trk)
 
  119     BPHY23Bs0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
 
  120         name                                = 
"BPHY23Bs0_Jpsi2Trk",
 
  121         kaonkaonHypothesis          = 
True,
 
  122         pionpionHypothesis                  = 
False,
 
  123         kaonpionHypothesis                  = 
False,
 
  124         kaonprotonHypothesis                = 
False,
 
  125         trkThresholdPt                  = 380.,
 
  127         oppChargesOnly                      = 
False,
 
  128         JpsiMassLower                       = Jpsi_lo,
 
  129         JpsiMassUpper                       = Jpsi_hi,
 
  130         TrkQuadrupletMassLower              = Bs0_lo,
 
  131         TrkQuadrupletMassUpper              = Bs0_hi,
 
  133         JpsiContainerKey                    = 
"BPHY23OniaCandidates",
 
  134         TrackParticleCollection             = 
"InDetTrackParticles",
 
  135         MuonsUsedInJpsi                 = 
"Muons",
 
  136         ExcludeJpsiMuonsOnly                = 
True,
 
  137         TrkVertexFitterTool         = vkalvrt,
 
  138         TrackSelectorTool               = trackselect,
 
  139         UseMassConstraint               = 
False)
 
  140     acc.addPublicTool(BPHY23Bs0_Jpsi2Trk)
 
  143     BPHY23B0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
 
  144         name                                = 
"BPHY23B0_Jpsi2Trk",
 
  145         kaonkaonHypothesis              = 
False,
 
  146         pionpionHypothesis                  = 
False,
 
  147         kaonpionHypothesis                  = 
True,
 
  148         kaonprotonHypothesis                = 
False,
 
  149         trkThresholdPt                  = 380.,
 
  151         oppChargesOnly                      = 
False,
 
  152         JpsiMassLower                       = Jpsi_lo,
 
  153         JpsiMassUpper                       = Jpsi_hi,
 
  154         TrkQuadrupletMassLower              = B_lo,
 
  155         TrkQuadrupletMassUpper              = B_hi,
 
  157         JpsiContainerKey                    = 
"BPHY23OniaCandidates",
 
  158         TrackParticleCollection             = 
"InDetTrackParticles",
 
  159         MuonsUsedInJpsi             = 
"Muons",
 
  160         ExcludeJpsiMuonsOnly                = 
True,
 
  161         TrkVertexFitterTool         = vkalvrt,
 
  162         TrackSelectorTool               = trackselect,
 
  163         UseMassConstraint               = 
False)
 
  164     acc.addPublicTool(BPHY23B0_Jpsi2Trk)
 
  168     BPHY23Zc3900_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
 
  169         name                                = 
"BPHY23Zc3900_Jpsi1Trk",
 
  170         pionHypothesis                      = 
True,
 
  171         kaonHypothesis                      = 
False,
 
  172         trkThresholdPt                      = 380.,
 
  174         JpsiMassLower                       = Jpsi_lo,
 
  175         JpsiMassUpper                       = Jpsi_hi,
 
  176         TrkTrippletMassLower                = Zc_lo,
 
  177         TrkTrippletMassUpper                = Zc_hi,
 
  179         JpsiContainerKey                    = 
"BPHY23OniaCandidates",
 
  180         TrackParticleCollection             = 
"InDetTrackParticles",
 
  181         MuonsUsedInJpsi                     = 
"Muons",
 
  182         ExcludeJpsiMuonsOnly                = 
True,
 
  183         TrkVertexFitterTool                 = vkalvrt,
 
  184         TrackSelectorTool                   = trackselect,
 
  185         UseMassConstraint                   = 
False)
 
  186     acc.addPublicTool(BPHY23Zc3900_Jpsi1Trk)
 
  189     BPHY23Bpm_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
 
  190         name                                = 
"BPHY23Bpm_Jpsi1Trk",
 
  191         pionHypothesis                      = 
False,
 
  192         kaonHypothesis                      = 
True,
 
  193         trkThresholdPt                      = 380.,
 
  195         JpsiMassLower                       = Jpsi_lo,
 
  196         JpsiMassUpper                       = Jpsi_hi,
 
  197         TrkTrippletMassLower                = B_lo,
 
  198         TrkTrippletMassUpper                = B_hi,
 
  200         JpsiContainerKey                    = 
"BPHY23OniaCandidates",
 
  201         TrackParticleCollection             = 
"InDetTrackParticles",
 
  202         MuonsUsedInJpsi                     = 
"Muons",
 
  203         ExcludeJpsiMuonsOnly                = 
True,
 
  204         TrkVertexFitterTool                 = vkalvrt,
 
  205         TrackSelectorTool                   = trackselect,
 
  206         UseMassConstraint                   = 
False)
 
  207     acc.addPublicTool(BPHY23Bpm_Jpsi1Trk)
 
  209     BPHY23FourTrackReco_PsiX3872 = CompFactory.DerivationFramework.Reco_Vertex(
 
  210         name                     = 
"BPHY23FourTrackReco_PsiX3872",
 
  211         VertexSearchTool         = BPHY23PsiX3872_Jpsi2Trk,
 
  212         OutputVtxContainerName   = 
"BPHY23FourTrack_PsiX3872",
 
  213         PVContainerName          = 
"PrimaryVertices",
 
  219     BPHY23FourTrackReco_Bs0 = CompFactory.DerivationFramework.Reco_Vertex(
 
  220         name                     = 
"BPHY23FourTrackReco_Bs0",
 
  221         VertexSearchTool         = BPHY23Bs0_Jpsi2Trk,
 
  222         OutputVtxContainerName   = 
"BPHY23FourTrack_Bs0",
 
  223         PVContainerName          = 
"PrimaryVertices",
 
  229     BPHY23FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
 
  230         name                     = 
"BPHY23FourTrackReco_B0",
 
  231         VertexSearchTool         = BPHY23B0_Jpsi2Trk,
 
  232         OutputVtxContainerName   = 
"BPHY23FourTrack_B0",
 
  233         PVContainerName          = 
"PrimaryVertices",
 
  239     BPHY23ThreeTrackReco_Zc3900 = CompFactory.DerivationFramework.Reco_Vertex(
 
  240         name                     = 
"BPHY23ThreeTrackReco_Zc3900",
 
  241         VertexSearchTool         = BPHY23Zc3900_Jpsi1Trk,
 
  242         OutputVtxContainerName   = 
"BPHY23ThreeTrack_Zc3900",
 
  243         PVContainerName          = 
"PrimaryVertices",
 
  249     BPHY23ThreeTrackReco_Bpm = CompFactory.DerivationFramework.Reco_Vertex(
 
  250         name                     = 
"BPHY23ThreeTrackReco_Bpm",
 
  251         VertexSearchTool         = BPHY23Bpm_Jpsi1Trk,
 
  252         OutputVtxContainerName   = 
"BPHY23ThreeTrack_Bpm",
 
  253         PVContainerName          = 
"PrimaryVertices",
 
  261     BPHY23Rev_Psi4Body = CompFactory.DerivationFramework.ReVertex(
 
  262         name                       = 
"BPHY23Rev_Psi4Body",
 
  263         InputVtxContainerName      = 
"BPHY23FourTrack_PsiX3872",
 
  264         TrackIndices               = [ 0, 1, 2, 3 ],
 
  265         SubVertexTrackIndices      = [ 1, 2 ],
 
  267         UseMassConstraint          = 
True,
 
  268         VertexMass                 = Psi2Smass,
 
  269         SubVertexMass              = Jpsimass,
 
  270         MassInputParticles         = [Mumass, Mumass, Pimass, Pimass],
 
  272         TrkVertexFitterTool    = vkalvrt,
 
  275         OutputVtxContainerName     = 
"BPHY23Revtx_Psi4Body")
 
  278     BPHY23Rev_X3872 = CompFactory.DerivationFramework.ReVertex(
 
  279         name                       = 
"BPHY23Rev_X3872",
 
  280         InputVtxContainerName      = 
"BPHY23FourTrack_PsiX3872",
 
  281         TrackIndices               = [ 0, 1, 2, 3 ],
 
  282         SubVertexTrackIndices      = [ 1, 2 ],
 
  284         UseMassConstraint          = 
True,
 
  285         VertexMass                 = X3872mass,
 
  286         SubVertexMass              = Jpsimass,
 
  287         MassInputParticles         = [Mumass, Mumass, Pimass, Pimass],
 
  289         TrkVertexFitterTool    = vkalvrt,
 
  292         OutputVtxContainerName     = 
"BPHY23Revtx_X3872")
 
  295     BPHY23Rev_Bs0 = CompFactory.DerivationFramework.ReVertex(
 
  296         name                       = 
"BPHY23Rev_Bs0",
 
  297         InputVtxContainerName      = 
"BPHY23FourTrack_Bs0",
 
  298         TrackIndices               = [ 0, 1, 2, 3 ],
 
  299         SubVertexTrackIndices      = [ 1, 2 ],
 
  301         UseMassConstraint          = 
True,
 
  302         VertexMass                 = Bs0mass,
 
  303         SubVertexMass              = Jpsimass,
 
  304         MassInputParticles         = [Mumass, Mumass, Kmass, Kmass],
 
  306         TrkVertexFitterTool    = vkalvrt,
 
  309         OutputVtxContainerName     = 
"BPHY23Revtx_Bs0")
 
  312     BPHY23Rev_B0Kpi = CompFactory.DerivationFramework.ReVertex(
 
  313         name                       = 
"BPHY23Rev_B0Kpi",
 
  314         InputVtxContainerName      = 
"BPHY23FourTrack_B0",
 
  315         TrackIndices               = [ 0, 1, 2, 3 ],
 
  316         SubVertexTrackIndices      = [ 1, 2 ],
 
  318         UseMassConstraint          = 
True,
 
  320         SubVertexMass              = Jpsimass,
 
  321         MassInputParticles         = [Mumass, Mumass, Kmass, Pimass],
 
  323         TrkVertexFitterTool    = vkalvrt,
 
  326         OutputVtxContainerName     = 
"BPHY23Revtx_B0Kpi")
 
  329     BPHY23Rev_B0piK = CompFactory.DerivationFramework.ReVertex(
 
  330         name                       = 
"BPHY23Rev_B0piK",
 
  331         InputVtxContainerName      = 
"BPHY23FourTrack_B0",
 
  332         TrackIndices               = [ 0, 1, 2, 3 ],
 
  333         SubVertexTrackIndices      = [ 1, 2 ],
 
  335         UseMassConstraint          = 
True,
 
  337         SubVertexMass              = Jpsimass,
 
  338         MassInputParticles         = [Mumass, Mumass, Pimass, Kmass],
 
  340         TrkVertexFitterTool    = vkalvrt,
 
  343         OutputVtxContainerName     = 
"BPHY23Revtx_B0piK")
 
  346     BPHY23Rev_Zc3900 = CompFactory.DerivationFramework.ReVertex(
 
  347         name                       = 
"BPHY23Rev_Zc3900",
 
  348         InputVtxContainerName      = 
"BPHY23ThreeTrack_Zc3900",
 
  349         TrackIndices               = [ 0, 1, 2 ],
 
  350         SubVertexTrackIndices      = [ 1, 2 ],
 
  352         UseMassConstraint          = 
True,
 
  353         SubVertexMass              = Jpsimass,
 
  354         MassInputParticles         = [Mumass, Mumass, Pimass],
 
  358         TrkVertexFitterTool        = vkalvrt,
 
  361         OutputVtxContainerName     = 
"BPHY23Revtx_Zc3900")
 
  364     BPHY23Rev_Bpm = CompFactory.DerivationFramework.ReVertex(
 
  365         name                       = 
"BPHY23Rev_Bpm",
 
  366         InputVtxContainerName      = 
"BPHY23ThreeTrack_Bpm",
 
  367         TrackIndices               = [ 0, 1, 2 ],
 
  368         SubVertexTrackIndices      = [ 1, 2 ],
 
  370         UseMassConstraint          = 
True,
 
  371         VertexMass                 = Bpmmass,
 
  372         SubVertexMass              = Jpsimass,
 
  373         MassInputParticles         = [Mumass, Mumass, Kmass],
 
  375         TrkVertexFitterTool    = vkalvrt,
 
  378         OutputVtxContainerName     = 
"BPHY23Revtx_Bpm")
 
  381     BPHY23Select_Jpsi              = CompFactory.DerivationFramework.Select_onia2mumu(
 
  382         name                       = 
"BPHY23Select_Jpsi",
 
  383         HypothesisName             = 
"Jpsi",
 
  384         InputVtxContainerName      = 
"BPHY23OniaCandidates",
 
  386         TrkMasses                  = [Mumass, Mumass],
 
  391     BPHY23Select_Psi               = CompFactory.DerivationFramework.Select_onia2mumu(
 
  392         name                       = 
"BPHY23Select_Psi",
 
  393         HypothesisName             = 
"Psi",
 
  394         InputVtxContainerName      = 
"BPHY23OniaCandidates",
 
  396         TrkMasses                  = [Mumass, Mumass],
 
  401     BPHY23Select_Upsi              = CompFactory.DerivationFramework.Select_onia2mumu(
 
  402         name                       = 
"BPHY23Select_Upsi",
 
  403         HypothesisName             = 
"Upsi",
 
  404         InputVtxContainerName      = 
"BPHY23OniaCandidates",
 
  406         TrkMasses                  = [Mumass, Mumass],
 
  411     BPHY23Rev_Jpsi = CompFactory.DerivationFramework.ReVertex(
 
  412         name                       = 
"BPHY23Rev_Jpsi",
 
  413         InputVtxContainerName      = 
"BPHY23OniaCandidates",
 
  414         HypothesisNames            = [ 
"Jpsi" ],
 
  415         TrackIndices               = [ 0, 1 ],
 
  417         UseMassConstraint          = 
True,
 
  418         VertexMass                 = Jpsimass,
 
  419         MassInputParticles         = [Mumass, Mumass],
 
  421         TrkVertexFitterTool        = vkalvrt,
 
  424         OutputVtxContainerName     = 
"BPHY23Revtx_Jpsi")
 
  426     BPHY23Rev_Psi = CompFactory.DerivationFramework.ReVertex(
 
  427         name                       = 
"BPHY23Rev_Psi",
 
  428         InputVtxContainerName      = 
"BPHY23OniaCandidates",
 
  429         HypothesisNames            = [ 
"Psi" ],
 
  430         TrackIndices               = [ 0, 1 ],
 
  432         UseMassConstraint          = 
True,
 
  433         VertexMass                 = Psi2Smass,
 
  434         MassInputParticles         = [Mumass, Mumass],
 
  436         TrkVertexFitterTool        = vkalvrt,
 
  439         OutputVtxContainerName     = 
"BPHY23Revtx_Psi")
 
  441     BPHY23Rev_Upsi = CompFactory.DerivationFramework.ReVertex(
 
  442         name                       = 
"BPHY23Rev_Upsi",
 
  443         InputVtxContainerName      = 
"BPHY23OniaCandidates",
 
  444         HypothesisNames            = [ 
"Upsi" ],
 
  445         TrackIndices               = [ 0, 1 ],
 
  447         UseMassConstraint          = 
True,
 
  448         VertexMass                 = Upsimass,
 
  449         MassInputParticles         = [Mumass, Mumass],
 
  451         TrkVertexFitterTool        = vkalvrt,
 
  454         OutputVtxContainerName     = 
"BPHY23Revtx_Upsi")
 
  461     list_2trk0trk_hypo = [
"Bs2KJpsi0", 
"Bs2KPsi0", 
"Bs2KUpsi0",
 
  462                           "B0KpiJpsi0", 
"B0KpiPsi0", 
"B0KpiUpsi0",
 
  463                           "B0piKJpsi0", 
"B0piKPsi0", 
"B0piKUpsi0"]
 
  464     list_2trk0trk_psiInput = [
"BPHY23Revtx_Bs0", 
"BPHY23Revtx_Bs0", 
"BPHY23Revtx_Bs0",
 
  465                               "BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0Kpi",
 
  466                               "BPHY23Revtx_B0piK", 
"BPHY23Revtx_B0piK", 
"BPHY23Revtx_B0piK"]
 
  467     list_2trk0trk_jpsiInput = [
"BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi",
 
  468                                "BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi",
 
  469                                "BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi"]
 
  470     list_2trk0trk_jpsiMass = [Jpsimass, Jpsimass, Jpsimass,
 
  471                               Jpsimass, Jpsimass, Jpsimass,
 
  472                               Jpsimass, Jpsimass, Jpsimass]
 
  473     list_2trk0trk_psiMass = [Bs0mass, Bs0mass, Bs0mass,
 
  474                              B0mass, B0mass, B0mass,
 
  475                              B0mass, B0mass, B0mass]
 
  476     list_2trk0trk_dau3Mass = [Kmass, Kmass, Kmass,
 
  478                               Pimass, Pimass, Pimass]
 
  479     list_2trk0trk_dau4Mass = [Kmass, Kmass, Kmass,
 
  480                               Pimass, Pimass, Pimass,
 
  482     list_2trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass,
 
  483                                Jpsimass, Psi2Smass, Upsimass,
 
  484                                Jpsimass, Psi2Smass, Upsimass]
 
  486     list_2trk0trk_obj = []
 
  487     for hypo 
in list_2trk0trk_hypo:
 
  488         list_2trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade(
"BPHY23_"+hypo) )
 
  490     for i 
in range(len(list_2trk0trk_obj)):
 
  491         list_2trk0trk_obj[i].HypothesisName           = list_2trk0trk_hypo[i]
 
  492         list_2trk0trk_obj[i].JpsiVertices             = list_2trk0trk_jpsiInput[i]
 
  493         list_2trk0trk_obj[i].PsiVertices              = list_2trk0trk_psiInput[i]
 
  494         list_2trk0trk_obj[i].NumberOfPsiDaughters     = 4
 
  495         list_2trk0trk_obj[i].MassLowerCut             = 0.
 
  496         list_2trk0trk_obj[i].MassUpperCut             = X_hi
 
  497         list_2trk0trk_obj[i].Chi2Cut                  = 30.
 
  498         list_2trk0trk_obj[i].MaxCandidates            = 15
 
  499         list_2trk0trk_obj[i].MaxnPV                   = 100
 
  501         list_2trk0trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  502         list_2trk0trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  503         list_2trk0trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list_2trk0trk_hypo[i]+
"_RefPrimaryVertices" 
  504         list_2trk0trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx3"]
 
  505         list_2trk0trk_obj[i].RefitPV                  = 
True 
  506         list_2trk0trk_obj[i].Vtx1Daug3MassHypo        = list_2trk0trk_dau3Mass[i]
 
  507         list_2trk0trk_obj[i].Vtx1Daug4MassHypo        = list_2trk0trk_dau4Mass[i]
 
  508         list_2trk0trk_obj[i].ApplyJpsiMassConstraint  = 
True 
  509         list_2trk0trk_obj[i].JpsiMass                 = list_2trk0trk_jpsiMass[i]
 
  510         list_2trk0trk_obj[i].ApplyPsiMassConstraint   = 
True 
  511         list_2trk0trk_obj[i].PsiMass                  = list_2trk0trk_psiMass[i]
 
  512         list_2trk0trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  513         list_2trk0trk_obj[i].Jpsi2Mass                = list_2trk0trk_jpsi2Mass[i]
 
  515     list2_2trk0trk_hypo = [
"Psi2Jpsi0", 
"Psi2Psi0", 
"Psi2Upsi0",
 
  516                            "X3872Jpsi0", 
"X3872Psi0", 
"X3872Upsi0"]
 
  517     list2_2trk0trk_psi1Input = [
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_Psi4Body",
 
  518                                 "BPHY23Revtx_X3872", 
"BPHY23Revtx_X3872", 
"BPHY23Revtx_X3872"]
 
  519     list2_2trk0trk_psi2Input = [
"BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi",
 
  520                                 "BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi"]
 
  521     list2_2trk0trk_jpsi2lo = [Jpsi_lo, Psi_lo, Upsi_lo, Jpsi_lo, Psi_lo, Upsi_lo]
 
  522     list2_2trk0trk_jpsi2hi = [Jpsi_hi, Psi_hi, Upsi_hi, Jpsi_hi, Psi_hi, Upsi_hi]
 
  523     list2_2trk0trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass, Jpsimass, Jpsimass, Jpsimass]
 
  524     list2_2trk0trk_psi1mass = [Psi2Smass, Psi2Smass, Psi2Smass, X3872mass, X3872mass, X3872mass]
 
  525     list2_2trk0trk_jpsi2mass = [Jpsimass, Psi2Smass, Upsimass, Jpsimass, Psi2Smass, Upsimass]
 
  527     list2_2trk0trk_obj = []
 
  528     for hypo 
in list2_2trk0trk_hypo:
 
  529         list2_2trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
 
  531     for i 
in range(len(list2_2trk0trk_obj)):
 
  532         list2_2trk0trk_obj[i].HypothesisName           = list2_2trk0trk_hypo[i]
 
  533         list2_2trk0trk_obj[i].Psi1Vertices             = list2_2trk0trk_psi1Input[i]
 
  534         list2_2trk0trk_obj[i].Psi2Vertices             = list2_2trk0trk_psi2Input[i]
 
  535         list2_2trk0trk_obj[i].MaxCandidates            = 15
 
  536         list2_2trk0trk_obj[i].NumberOfPsi1Daughters    = 4
 
  537         list2_2trk0trk_obj[i].NumberOfPsi2Daughters    = 2
 
  538         list2_2trk0trk_obj[i].Jpsi1MassLowerCut        = Jpsi_lo
 
  539         list2_2trk0trk_obj[i].Jpsi1MassUpperCut        = Jpsi_hi
 
  540         list2_2trk0trk_obj[i].Psi1MassLowerCut         = Psi_lo
 
  541         list2_2trk0trk_obj[i].Psi1MassUpperCut         = Psi_hi
 
  542         list2_2trk0trk_obj[i].Jpsi2MassLowerCut        = list2_2trk0trk_jpsi2lo[i]
 
  543         list2_2trk0trk_obj[i].Jpsi2MassUpperCut        = list2_2trk0trk_jpsi2hi[i]
 
  544         list2_2trk0trk_obj[i].MassLowerCut             = 0.
 
  545         list2_2trk0trk_obj[i].MassUpperCut             = X_hi
 
  546         list2_2trk0trk_obj[i].Jpsi1Mass                = list2_2trk0trk_jpsi1mass[i]
 
  547         list2_2trk0trk_obj[i].Psi1Mass                 = list2_2trk0trk_psi1mass[i]
 
  548         list2_2trk0trk_obj[i].Jpsi2Mass                = list2_2trk0trk_jpsi2mass[i]
 
  549         list2_2trk0trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  550         list2_2trk0trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  551         list2_2trk0trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  552         list2_2trk0trk_obj[i].Chi2Cut                  = 30.
 
  554         list2_2trk0trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  555         list2_2trk0trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  556         list2_2trk0trk_obj[i].OutputVertexCollections  = [
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_MainVtx"]
 
  557         list2_2trk0trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  558         list2_2trk0trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_RefPrimaryVertices" 
  559         list2_2trk0trk_obj[i].RefitPV                  = 
True 
  560         list2_2trk0trk_obj[i].MaxnPV                   = 100
 
  566     list_1trk0trk_hypo = [
"BpmJpsi0", 
"BpmPsi0", 
"BpmUpsi0"]
 
  567     list_1trk0trk_psiInput = [
"BPHY23Revtx_Bpm", 
"BPHY23Revtx_Bpm", 
"BPHY23Revtx_Bpm"]
 
  568     list_1trk0trk_jpsiInput = [
"BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi"]
 
  569     list_1trk0trk_jpsiMass = [Jpsimass, Jpsimass, Jpsimass]
 
  570     list_1trk0trk_psiMass = [Bpmmass, Bpmmass, Bpmmass]
 
  571     list_1trk0trk_dau3Mass = [Kmass, Kmass, Kmass]
 
  572     list_1trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass]
 
  574     list_1trk0trk_obj = []
 
  575     for hypo 
in list_1trk0trk_hypo:
 
  576         list_1trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade(
"BPHY23_"+hypo) )
 
  578     for i 
in range(len(list_1trk0trk_obj)):
 
  579         list_1trk0trk_obj[i].HypothesisName           = list_1trk0trk_hypo[i]
 
  580         list_1trk0trk_obj[i].JpsiVertices             = list_1trk0trk_jpsiInput[i]
 
  581         list_1trk0trk_obj[i].PsiVertices              = list_1trk0trk_psiInput[i]
 
  582         list_1trk0trk_obj[i].NumberOfPsiDaughters     = 3
 
  583         list_1trk0trk_obj[i].MassLowerCut             = 0.
 
  584         list_1trk0trk_obj[i].MassUpperCut             = X_hi
 
  585         list_1trk0trk_obj[i].Chi2Cut                  = 30.
 
  586         list_1trk0trk_obj[i].MaxCandidates            = 15
 
  587         list_1trk0trk_obj[i].MaxnPV                   = 100
 
  589         list_1trk0trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  590         list_1trk0trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  591         list_1trk0trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list_1trk0trk_hypo[i]+
"_RefPrimaryVertices" 
  592         list_1trk0trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx3"]
 
  593         list_1trk0trk_obj[i].RefitPV                  = 
True 
  594         list_1trk0trk_obj[i].Vtx1Daug3MassHypo        = list_1trk0trk_dau3Mass[i]
 
  595         list_1trk0trk_obj[i].ApplyJpsiMassConstraint  = 
True 
  596         list_1trk0trk_obj[i].JpsiMass                 = list_1trk0trk_jpsiMass[i]
 
  597         list_1trk0trk_obj[i].ApplyPsiMassConstraint   = 
True 
  598         list_1trk0trk_obj[i].PsiMass                  = list_1trk0trk_psiMass[i]
 
  599         list_1trk0trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  600         list_1trk0trk_obj[i].Jpsi2Mass                = list_1trk0trk_jpsi2Mass[i]
 
  602     list2_1trk0trk_hypo = [
"Zc3900Jpsi0", 
"Zc3900Psi0", 
"Zc3900Upsi0"]
 
  603     list2_1trk0trk_psi1Input = [
"BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Zc3900"]
 
  604     list2_1trk0trk_psi2Input = [
"BPHY23Revtx_Jpsi", 
"BPHY23Revtx_Psi", 
"BPHY23Revtx_Upsi"]
 
  605     list2_1trk0trk_jpsi2lo = [Jpsi_lo, Psi_lo, Upsi_lo]
 
  606     list2_1trk0trk_jpsi2hi = [Jpsi_hi, Psi_hi, Upsi_hi]
 
  607     list2_1trk0trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass]
 
  608     list2_1trk0trk_psi1mass = [Zcmass, Zcmass, Zcmass]
 
  609     list2_1trk0trk_jpsi2mass = [Jpsimass, Psi2Smass, Upsimass]
 
  611     list2_1trk0trk_obj = []
 
  612     for hypo 
in list2_1trk0trk_hypo:
 
  613         list2_1trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
 
  615     for i 
in range(len(list2_1trk0trk_obj)):
 
  616         list2_1trk0trk_obj[i].HypothesisName           = list2_1trk0trk_hypo[i]
 
  617         list2_1trk0trk_obj[i].Psi1Vertices             = list2_1trk0trk_psi1Input[i]
 
  618         list2_1trk0trk_obj[i].Psi2Vertices             = list2_1trk0trk_psi2Input[i]
 
  619         list2_1trk0trk_obj[i].MaxCandidates            = 15
 
  620         list2_1trk0trk_obj[i].NumberOfPsi1Daughters    = 3
 
  621         list2_1trk0trk_obj[i].NumberOfPsi2Daughters    = 2
 
  622         list2_1trk0trk_obj[i].Jpsi1MassLowerCut        = Jpsi_lo
 
  623         list2_1trk0trk_obj[i].Jpsi1MassUpperCut        = Jpsi_hi
 
  624         list2_1trk0trk_obj[i].Psi1MassLowerCut         = Zc_lo
 
  625         list2_1trk0trk_obj[i].Psi1MassUpperCut         = Zc_hi
 
  626         list2_1trk0trk_obj[i].Jpsi2MassLowerCut        = list2_1trk0trk_jpsi2lo[i]
 
  627         list2_1trk0trk_obj[i].Jpsi2MassUpperCut        = list2_1trk0trk_jpsi2hi[i]
 
  628         list2_1trk0trk_obj[i].MassLowerCut             = 0.
 
  629         list2_1trk0trk_obj[i].MassUpperCut             = X_hi
 
  630         list2_1trk0trk_obj[i].Jpsi1Mass                = list2_1trk0trk_jpsi1mass[i]
 
  631         list2_1trk0trk_obj[i].Psi1Mass                 = list2_1trk0trk_psi1mass[i]
 
  632         list2_1trk0trk_obj[i].Jpsi2Mass                = list2_1trk0trk_jpsi2mass[i]
 
  633         list2_1trk0trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  634         list2_1trk0trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  635         list2_1trk0trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  636         list2_1trk0trk_obj[i].Chi2Cut                  = 30.
 
  638         list2_1trk0trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  639         list2_1trk0trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  640         list2_1trk0trk_obj[i].OutputVertexCollections  = [
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_MainVtx"]
 
  641         list2_1trk0trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  642         list2_1trk0trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_RefPrimaryVertices" 
  643         list2_1trk0trk_obj[i].RefitPV                  = 
True 
  644         list2_1trk0trk_obj[i].MaxnPV                   = 100
 
  650     list_1trk1trk_hypo = [
"BpmZc3900", 
"BpmBpm"]
 
  651     list_1trk1trk_psi1Input = [
"BPHY23Revtx_Bpm", 
"BPHY23Revtx_Bpm"]
 
  652     list_1trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Bpm"]
 
  653     list_1trk1trk_jpsi1Mass = [Jpsimass, Jpsimass]
 
  654     list_1trk1trk_psi1Mass = [Bpmmass, Bpmmass]
 
  655     list_1trk1trk_p1dau3Mass = [Kmass, Kmass]
 
  656     list_1trk1trk_jpsi2Mass = [Jpsimass, Jpsimass]
 
  657     list_1trk1trk_psi2Mass = [Zcmass, Bpmmass]
 
  658     list_1trk1trk_p2dau3Mass = [Pimass, Kmass]
 
  660     list_1trk1trk_obj = []
 
  661     for hypo 
in list_1trk1trk_hypo:
 
  662         list_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
 
  664     for i 
in range(len(list_1trk1trk_obj)):
 
  665         list_1trk1trk_obj[i].HypothesisName           = list_1trk1trk_hypo[i]
 
  666         list_1trk1trk_obj[i].Psi1Vertices             = list_1trk1trk_psi1Input[i]
 
  667         list_1trk1trk_obj[i].Psi2Vertices             = list_1trk1trk_psi2Input[i]
 
  668         list_1trk1trk_obj[i].NumberOfPsi1Daughters    = 3
 
  669         list_1trk1trk_obj[i].NumberOfPsi2Daughters    = 3
 
  670         list_1trk1trk_obj[i].MassLowerCut             = 0.
 
  671         list_1trk1trk_obj[i].MassUpperCut             = X_hi
 
  672         list_1trk1trk_obj[i].Chi2CutPsi1              = 5.
 
  673         list_1trk1trk_obj[i].Chi2CutPsi2              = 5.
 
  674         list_1trk1trk_obj[i].Chi2Cut                  = 30.
 
  675         list_1trk1trk_obj[i].MaxCandidates            = 15
 
  676         list_1trk1trk_obj[i].RemoveDuplicatePairs     = 
True 
  677         list_1trk1trk_obj[i].MaxnPV                   = 100
 
  679         list_1trk1trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  680         list_1trk1trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  681         list_1trk1trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list_1trk1trk_hypo[i]+
"_RefPrimaryVertices" 
  682         list_1trk1trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx3"]
 
  683         list_1trk1trk_obj[i].RefitPV                  = 
True 
  684         list_1trk1trk_obj[i].Vtx1Daug3MassHypo        = list_1trk1trk_p1dau3Mass[i]
 
  685         list_1trk1trk_obj[i].Vtx2Daug3MassHypo        = list_1trk1trk_p2dau3Mass[i]
 
  686         list_1trk1trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  687         list_1trk1trk_obj[i].Jpsi1Mass                = list_1trk1trk_jpsi1Mass[i]
 
  688         list_1trk1trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  689         list_1trk1trk_obj[i].Psi1Mass                 = list_1trk1trk_psi1Mass[i]
 
  690         list_1trk1trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  691         list_1trk1trk_obj[i].Jpsi2Mass                = list_1trk1trk_jpsi2Mass[i]
 
  692         if list_1trk1trk_psi2Mass[i] != Zcmass:
 
  693             list_1trk1trk_obj[i].ApplyPsi2MassConstraint  = 
True 
  694             list_1trk1trk_obj[i].Psi2Mass                 = list_1trk1trk_psi2Mass[i]
 
  696     list2_1trk1trk_hypo = [
"Zc3900Zc3900"]
 
  697     list2_1trk1trk_psi1Input = [
"BPHY23Revtx_Zc3900"]
 
  698     list2_1trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900"]
 
  699     list2_1trk1trk_jpsi1mass = [Jpsimass]
 
  700     list2_1trk1trk_psi1mass = [Zcmass]
 
  701     list2_1trk1trk_jpsi2mass = [Jpsimass]
 
  702     list2_1trk1trk_psi2mass = [Zcmass]
 
  704     list2_1trk1trk_obj = []
 
  705     for hypo 
in list2_1trk1trk_hypo:
 
  706         list2_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
 
  708     for i 
in range(len(list2_1trk1trk_obj)):
 
  709         list2_1trk1trk_obj[i].HypothesisName           = list2_1trk1trk_hypo[i]
 
  710         list2_1trk1trk_obj[i].Psi1Vertices             = list2_1trk1trk_psi1Input[i]
 
  711         list2_1trk1trk_obj[i].Psi2Vertices             = list2_1trk1trk_psi2Input[i]
 
  712         list2_1trk1trk_obj[i].MaxCandidates            = 15
 
  713         list2_1trk1trk_obj[i].NumberOfPsi1Daughters    = 3
 
  714         list2_1trk1trk_obj[i].NumberOfPsi2Daughters    = 3
 
  715         list2_1trk1trk_obj[i].Jpsi1MassLowerCut        = Jpsi_lo
 
  716         list2_1trk1trk_obj[i].Jpsi1MassUpperCut        = Jpsi_hi
 
  717         list2_1trk1trk_obj[i].Psi1MassLowerCut         = Zc_lo
 
  718         list2_1trk1trk_obj[i].Psi1MassUpperCut         = Zc_hi
 
  719         list2_1trk1trk_obj[i].Jpsi2MassLowerCut        = Jpsi_lo
 
  720         list2_1trk1trk_obj[i].Jpsi2MassUpperCut        = Jpsi_hi
 
  721         list2_1trk1trk_obj[i].Psi2MassLowerCut         = Zc_lo
 
  722         list2_1trk1trk_obj[i].Psi2MassUpperCut         = Zc_hi
 
  723         list2_1trk1trk_obj[i].MassLowerCut             = 0.
 
  724         list2_1trk1trk_obj[i].MassUpperCut             = X_hi
 
  725         list2_1trk1trk_obj[i].Jpsi1Mass                = list2_1trk1trk_jpsi1mass[i]
 
  726         list2_1trk1trk_obj[i].Psi1Mass                 = list2_1trk1trk_psi1mass[i]
 
  727         list2_1trk1trk_obj[i].Jpsi2Mass                = list2_1trk1trk_jpsi2mass[i]
 
  728         list2_1trk1trk_obj[i].Psi2Mass                 = list2_1trk1trk_psi2mass[i]
 
  729         list2_1trk1trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  730         list2_1trk1trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  731         list2_1trk1trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  732         list2_1trk1trk_obj[i].ApplyPsi2MassConstraint  = 
True 
  733         list2_1trk1trk_obj[i].Chi2Cut                  = 30.
 
  735         list2_1trk1trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  736         list2_1trk1trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  737         list2_1trk1trk_obj[i].OutputVertexCollections  = [
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_MainVtx"]
 
  738         list2_1trk1trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  739         list2_1trk1trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_RefPrimaryVertices" 
  740         list2_1trk1trk_obj[i].RefitPV                  = 
True 
  741         list2_1trk1trk_obj[i].MaxnPV                   = 100
 
  747     list_2trk1trk_hypo = [
"Bs2KZc3900", 
"Bs2KBpm",
 
  748                           "B0KpiZc3900", 
"B0KpiBpm",
 
  749                           "B0piKZc3900", 
"B0piKBpm"]
 
  750     list_2trk1trk_psi1Input = [
"BPHY23Revtx_Bs0", 
"BPHY23Revtx_Bs0",
 
  751                                "BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0Kpi",
 
  752                                "BPHY23Revtx_B0piK", 
"BPHY23Revtx_B0piK"]
 
  753     list_2trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Bpm",
 
  754                                "BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Bpm",
 
  755                                "BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Bpm"]
 
  756     list_2trk1trk_jpsi1Mass = [Jpsimass, Jpsimass,
 
  759     list_2trk1trk_psi1Mass = [Bs0mass, Bs0mass,
 
  762     list_2trk1trk_p1dau3Mass = [Kmass, Kmass,
 
  765     list_2trk1trk_p1dau4Mass = [Kmass, Kmass,
 
  768     list_2trk1trk_jpsi2Mass = [Jpsimass, Jpsimass,
 
  771     list_2trk1trk_psi2Mass = [Zcmass, Bpmmass,
 
  774     list_2trk1trk_p2dau3Mass = [Pimass, Kmass,
 
  778     list_2trk1trk_obj = []
 
  779     for hypo 
in list_2trk1trk_hypo:
 
  780         list_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
 
  782     for i 
in range(len(list_2trk1trk_obj)):
 
  783         list_2trk1trk_obj[i].HypothesisName           = list_2trk1trk_hypo[i]
 
  784         list_2trk1trk_obj[i].Psi1Vertices             = list_2trk1trk_psi1Input[i]
 
  785         list_2trk1trk_obj[i].Psi2Vertices             = list_2trk1trk_psi2Input[i]
 
  786         list_2trk1trk_obj[i].NumberOfPsi1Daughters    = 4
 
  787         list_2trk1trk_obj[i].NumberOfPsi2Daughters    = 3
 
  788         list_2trk1trk_obj[i].MassLowerCut             = 0.
 
  789         list_2trk1trk_obj[i].MassUpperCut             = X_hi
 
  790         list_2trk1trk_obj[i].Chi2CutPsi1              = 5.
 
  791         list_2trk1trk_obj[i].Chi2CutPsi2              = 5.
 
  792         list_2trk1trk_obj[i].Chi2Cut                  = 30.
 
  793         list_2trk1trk_obj[i].MaxCandidates            = 15
 
  794         list_2trk1trk_obj[i].MaxnPV                   = 100
 
  796         list_2trk1trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  797         list_2trk1trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  798         list_2trk1trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list_2trk1trk_hypo[i]+
"_RefPrimaryVertices" 
  799         list_2trk1trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx3"]
 
  800         list_2trk1trk_obj[i].RefitPV                  = 
True 
  801         list_2trk1trk_obj[i].Vtx1Daug3MassHypo        = list_2trk1trk_p1dau3Mass[i]
 
  802         list_2trk1trk_obj[i].Vtx1Daug4MassHypo        = list_2trk1trk_p1dau4Mass[i]
 
  803         list_2trk1trk_obj[i].Vtx2Daug3MassHypo        = list_2trk1trk_p2dau3Mass[i]
 
  804         list_2trk1trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  805         list_2trk1trk_obj[i].Jpsi1Mass                = list_2trk1trk_jpsi1Mass[i]
 
  806         list_2trk1trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  807         list_2trk1trk_obj[i].Psi1Mass                 = list_2trk1trk_psi1Mass[i]
 
  808         list_2trk1trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  809         list_2trk1trk_obj[i].Jpsi2Mass                = list_2trk1trk_jpsi2Mass[i]
 
  810         if list_2trk1trk_psi2Mass[i] != Zcmass:
 
  811             list_2trk1trk_obj[i].ApplyPsi2MassConstraint  = 
True 
  812             list_2trk1trk_obj[i].Psi2Mass                 = list_2trk1trk_psi2Mass[i]
 
  814     list2_2trk1trk_hypo = [
"Psi2Zc3900", 
"X3872Zc3900"]
 
  815     list2_2trk1trk_psi1Input = [
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_X3872"]
 
  816     list2_2trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900", 
"BPHY23Revtx_Zc3900"]
 
  817     list2_2trk1trk_jpsi1mass = [Jpsimass, Jpsimass]
 
  818     list2_2trk1trk_psi1mass = [Psi2Smass, X3872mass]
 
  819     list2_2trk1trk_jpsi2mass = [Jpsimass, Jpsimass]
 
  820     list2_2trk1trk_psi2mass = [Zcmass, Zcmass]
 
  822     list2_2trk1trk_obj = []
 
  823     for hypo 
in list2_2trk1trk_hypo:
 
  824         list2_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
 
  826     for i 
in range(len(list2_2trk1trk_obj)):
 
  827         list2_2trk1trk_obj[i].HypothesisName           = list2_2trk1trk_hypo[i]
 
  828         list2_2trk1trk_obj[i].Psi1Vertices             = list2_2trk1trk_psi1Input[i]
 
  829         list2_2trk1trk_obj[i].Psi2Vertices             = list2_2trk1trk_psi2Input[i]
 
  830         list2_2trk1trk_obj[i].MaxCandidates            = 15
 
  831         list2_2trk1trk_obj[i].NumberOfPsi1Daughters    = 4
 
  832         list2_2trk1trk_obj[i].NumberOfPsi2Daughters    = 3
 
  833         list2_2trk1trk_obj[i].Jpsi1MassLowerCut        = Jpsi_lo
 
  834         list2_2trk1trk_obj[i].Jpsi1MassUpperCut        = Jpsi_hi
 
  835         list2_2trk1trk_obj[i].Psi1MassLowerCut         = Psi_lo
 
  836         list2_2trk1trk_obj[i].Psi1MassUpperCut         = Psi_hi
 
  837         list2_2trk1trk_obj[i].Jpsi2MassLowerCut        = Jpsi_lo
 
  838         list2_2trk1trk_obj[i].Jpsi2MassUpperCut        = Jpsi_hi
 
  839         list2_2trk1trk_obj[i].Psi2MassLowerCut         = Zc_lo
 
  840         list2_2trk1trk_obj[i].Psi2MassUpperCut         = Zc_hi
 
  841         list2_2trk1trk_obj[i].MassLowerCut             = 0.
 
  842         list2_2trk1trk_obj[i].MassUpperCut             = X_hi
 
  843         list2_2trk1trk_obj[i].Jpsi1Mass                = list2_2trk1trk_jpsi1mass[i]
 
  844         list2_2trk1trk_obj[i].Psi1Mass                 = list2_2trk1trk_psi1mass[i]
 
  845         list2_2trk1trk_obj[i].Jpsi2Mass                = list2_2trk1trk_jpsi2mass[i]
 
  846         list2_2trk1trk_obj[i].Psi2Mass                 = list2_2trk1trk_psi2mass[i]
 
  847         list2_2trk1trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  848         list2_2trk1trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  849         list2_2trk1trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  850         list2_2trk1trk_obj[i].ApplyPsi2MassConstraint  = 
True 
  851         list2_2trk1trk_obj[i].Chi2Cut                  = 30.
 
  853         list2_2trk1trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  854         list2_2trk1trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  855         list2_2trk1trk_obj[i].OutputVertexCollections  = [
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_MainVtx"]
 
  856         list2_2trk1trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  857         list2_2trk1trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_RefPrimaryVertices" 
  858         list2_2trk1trk_obj[i].RefitPV                  = 
True 
  859         list2_2trk1trk_obj[i].MaxnPV                   = 100
 
  865     list_1trk2trk_hypo = [
"BpmPsi2", 
"BpmX3872"]
 
  866     list_1trk2trk_psi1Input = [
"BPHY23Revtx_Bpm", 
"BPHY23Revtx_Bpm"]
 
  867     list_1trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_X3872"]
 
  868     list_1trk2trk_jpsi1Mass = [Jpsimass, Jpsimass]
 
  869     list_1trk2trk_psi1Mass = [Bpmmass, Bpmmass]
 
  870     list_1trk2trk_p1dau3Mass = [Kmass, Kmass]
 
  871     list_1trk2trk_jpsi2Mass = [Jpsimass, Jpsimass]
 
  872     list_1trk2trk_psi2Mass = [Psi2Smass, X3872mass]
 
  873     list_1trk2trk_p2dau3Mass = [Pimass, Pimass]
 
  874     list_1trk2trk_p2dau4Mass = [Pimass, Pimass]
 
  876     list_1trk2trk_obj = []
 
  877     for hypo 
in list_1trk2trk_hypo:
 
  878         list_1trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
 
  880     for i 
in range(len(list_1trk2trk_obj)):
 
  881         list_1trk2trk_obj[i].HypothesisName           = list_1trk2trk_hypo[i]
 
  882         list_1trk2trk_obj[i].Psi1Vertices             = list_1trk2trk_psi1Input[i]
 
  883         list_1trk2trk_obj[i].Psi2Vertices             = list_1trk2trk_psi2Input[i]
 
  884         list_1trk2trk_obj[i].NumberOfPsi1Daughters    = 3
 
  885         list_1trk2trk_obj[i].NumberOfPsi2Daughters    = 4
 
  886         list_1trk2trk_obj[i].MassLowerCut             = 0.
 
  887         list_1trk2trk_obj[i].MassUpperCut             = X_hi
 
  888         list_1trk2trk_obj[i].Chi2CutPsi1              = 5.
 
  889         list_1trk2trk_obj[i].Chi2CutPsi2              = 5.
 
  890         list_1trk2trk_obj[i].Chi2Cut                  = 30.
 
  891         list_1trk2trk_obj[i].MaxCandidates            = 15
 
  892         list_1trk2trk_obj[i].MaxnPV                   = 100
 
  894         list_1trk2trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  895         list_1trk2trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  896         list_1trk2trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list_1trk2trk_hypo[i]+
"_RefPrimaryVertices" 
  897         list_1trk2trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx3"]
 
  898         list_1trk2trk_obj[i].RefitPV                  = 
True 
  899         list_1trk2trk_obj[i].Vtx1Daug3MassHypo        = list_1trk2trk_p1dau3Mass[i]
 
  900         list_1trk2trk_obj[i].Vtx2Daug3MassHypo        = list_1trk2trk_p2dau3Mass[i]
 
  901         list_1trk2trk_obj[i].Vtx2Daug4MassHypo        = list_1trk2trk_p2dau4Mass[i]
 
  902         list_1trk2trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  903         list_1trk2trk_obj[i].Jpsi1Mass                = list_1trk2trk_jpsi1Mass[i]
 
  904         list_1trk2trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  905         list_1trk2trk_obj[i].Psi1Mass                 = list_1trk2trk_psi1Mass[i]
 
  906         list_1trk2trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  907         list_1trk2trk_obj[i].Jpsi2Mass                = list_1trk2trk_jpsi2Mass[i]
 
  908         list_1trk2trk_obj[i].ApplyPsi2MassConstraint  = 
True 
  909         list_1trk2trk_obj[i].Psi2Mass                 = list_1trk2trk_psi2Mass[i]
 
  915     list_2trk2trk_hypo = [
"Bs2KPsi2", 
"B0KpiPsi2", 
"B0piKPsi2",
 
  916                           "Bs2KX3872", 
"B0KpiX3872", 
"B0piKX3872",
 
  917                           "Bs2KBs2K", 
"Bs2KB0Kpi", 
"Bs2KB0piK",
 
  918                           "B0KpiB0Kpi", 
"B0KpiB0piK", 
"B0piKB0piK"]
 
  919     list_2trk2trk_psi1Input = [
"BPHY23Revtx_Bs0", 
"BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0piK",
 
  920                                "BPHY23Revtx_Bs0", 
"BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0piK",
 
  921                                "BPHY23Revtx_Bs0", 
"BPHY23Revtx_Bs0", 
"BPHY23Revtx_Bs0",
 
  922                                "BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0piK"]
 
  923     list_2trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_Psi4Body",
 
  924                                "BPHY23Revtx_X3872", 
"BPHY23Revtx_X3872", 
"BPHY23Revtx_X3872",
 
  925                                "BPHY23Revtx_Bs0", 
"BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0piK",
 
  926                                "BPHY23Revtx_B0Kpi", 
"BPHY23Revtx_B0piK", 
"BPHY23Revtx_B0piK"]
 
  927     list_2trk2trk_jpsi1Mass = [Jpsimass, Jpsimass, Jpsimass,
 
  928                                Jpsimass, Jpsimass, Jpsimass,
 
  929                                Jpsimass, Jpsimass, Jpsimass,
 
  930                                Jpsimass, Jpsimass, Jpsimass]
 
  931     list_2trk2trk_psi1Mass = [Bs0mass, B0mass, B0mass,
 
  932                               Bs0mass, B0mass, B0mass,
 
  933                               Bs0mass, Bs0mass, Bs0mass,
 
  934                               B0mass, B0mass, B0mass]
 
  935     list_2trk2trk_p1dau3Mass = [Kmass, Kmass, Pimass,
 
  936                                 Kmass, Kmass, Pimass,
 
  938                                 Kmass, Kmass, Pimass]
 
  939     list_2trk2trk_p1dau4Mass = [Kmass, Pimass, Kmass,
 
  940                                 Kmass, Pimass, Kmass,
 
  942                                 Pimass, Pimass, Kmass]
 
  943     list_2trk2trk_jpsi2Mass = [Jpsimass, Jpsimass, Jpsimass,
 
  944                                Jpsimass, Jpsimass, Jpsimass,
 
  945                                Jpsimass, Jpsimass, Jpsimass,
 
  946                                Jpsimass, Jpsimass, Jpsimass]
 
  947     list_2trk2trk_psi2Mass = [Psi2Smass, Psi2Smass, Psi2Smass,
 
  948                               X3872mass, X3872mass, X3872mass,
 
  949                               Bs0mass, B0mass, B0mass,
 
  950                               B0mass, B0mass, B0mass]
 
  951     list_2trk2trk_p2dau3Mass = [Pimass, Pimass, Pimass,
 
  952                                 Pimass, Pimass, Pimass,
 
  953                                 Kmass, Kmass, Pimass,
 
  954                                 Kmass, Pimass, Pimass]
 
  955     list_2trk2trk_p2dau4Mass = [Pimass, Pimass, Pimass,
 
  956                                 Pimass, Pimass, Pimass,
 
  957                                 Kmass, Pimass, Kmass,
 
  958                                 Pimass, Kmass, Kmass]
 
  960     list_2trk2trk_obj = []
 
  961     for hypo 
in list_2trk2trk_hypo:
 
  962         list_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
 
  964     for i 
in range(len(list_2trk2trk_obj)):
 
  965         list_2trk2trk_obj[i].HypothesisName           = list_2trk2trk_hypo[i]
 
  966         list_2trk2trk_obj[i].Psi1Vertices             = list_2trk2trk_psi1Input[i]
 
  967         list_2trk2trk_obj[i].Psi2Vertices             = list_2trk2trk_psi2Input[i]
 
  968         list_2trk2trk_obj[i].NumberOfPsi1Daughters    = 4
 
  969         list_2trk2trk_obj[i].NumberOfPsi2Daughters    = 4
 
  970         list_2trk2trk_obj[i].MassLowerCut             = 0.
 
  971         list_2trk2trk_obj[i].MassUpperCut             = X_hi
 
  972         list_2trk2trk_obj[i].Chi2CutPsi1              = 4.
 
  973         list_2trk2trk_obj[i].Chi2CutPsi2              = 4.
 
  974         list_2trk2trk_obj[i].Chi2Cut                  = 30.
 
  975         list_2trk2trk_obj[i].MaxCandidates            = 15
 
  976         list_2trk2trk_obj[i].RemoveDuplicatePairs     = 
True 
  977         list_2trk2trk_obj[i].MaxnPV                   = 100
 
  979         list_2trk2trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
  980         list_2trk2trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
  981         list_2trk2trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list_2trk2trk_hypo[i]+
"_RefPrimaryVertices" 
  982         list_2trk2trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx3"]
 
  983         list_2trk2trk_obj[i].RefitPV                  = 
True 
  984         list_2trk2trk_obj[i].Vtx1Daug3MassHypo        = list_2trk2trk_p1dau3Mass[i]
 
  985         list_2trk2trk_obj[i].Vtx1Daug4MassHypo        = list_2trk2trk_p1dau4Mass[i]
 
  986         list_2trk2trk_obj[i].Vtx2Daug3MassHypo        = list_2trk2trk_p2dau3Mass[i]
 
  987         list_2trk2trk_obj[i].Vtx2Daug4MassHypo        = list_2trk2trk_p2dau4Mass[i]
 
  988         list_2trk2trk_obj[i].ApplyJpsi1MassConstraint = 
True 
  989         list_2trk2trk_obj[i].Jpsi1Mass                = list_2trk2trk_jpsi1Mass[i]
 
  990         list_2trk2trk_obj[i].ApplyPsi1MassConstraint  = 
True 
  991         list_2trk2trk_obj[i].Psi1Mass                 = list_2trk2trk_psi1Mass[i]
 
  992         list_2trk2trk_obj[i].ApplyJpsi2MassConstraint = 
True 
  993         list_2trk2trk_obj[i].Jpsi2Mass                = list_2trk2trk_jpsi2Mass[i]
 
  994         list_2trk2trk_obj[i].ApplyPsi2MassConstraint  = 
True 
  995         list_2trk2trk_obj[i].Psi2Mass                 = list_2trk2trk_psi2Mass[i]
 
  997     list2_2trk2trk_hypo = [
"Psi2Psi2", 
"Psi2X3872", 
"X3872X3872"]
 
  998     list2_2trk2trk_psi1Input = [
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_X3872"]
 
  999     list2_2trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body", 
"BPHY23Revtx_X3872", 
"BPHY23Revtx_X3872"]
 
 1000     list2_2trk2trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass]
 
 1001     list2_2trk2trk_psi1mass = [Psi2Smass, Psi2Smass, X3872mass]
 
 1002     list2_2trk2trk_jpsi2mass = [Jpsimass, Jpsimass, Jpsimass]
 
 1003     list2_2trk2trk_psi2mass = [Psi2Smass, X3872mass, X3872mass]
 
 1005     list2_2trk2trk_obj = []
 
 1006     for hypo 
in list2_2trk2trk_hypo:
 
 1007         list2_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
 
 1009     for i 
in range(len(list2_2trk2trk_obj)):
 
 1010         list2_2trk2trk_obj[i].HypothesisName           = list2_2trk2trk_hypo[i]
 
 1011         list2_2trk2trk_obj[i].Psi1Vertices             = list2_2trk2trk_psi1Input[i]
 
 1012         list2_2trk2trk_obj[i].Psi2Vertices             = list2_2trk2trk_psi2Input[i]
 
 1013         list2_2trk2trk_obj[i].MaxCandidates            = 15
 
 1014         list2_2trk2trk_obj[i].NumberOfPsi1Daughters    = 4
 
 1015         list2_2trk2trk_obj[i].NumberOfPsi2Daughters    = 4
 
 1016         list2_2trk2trk_obj[i].Jpsi1MassLowerCut        = Jpsi_lo
 
 1017         list2_2trk2trk_obj[i].Jpsi1MassUpperCut        = Jpsi_hi
 
 1018         list2_2trk2trk_obj[i].Psi1MassLowerCut         = Psi_lo
 
 1019         list2_2trk2trk_obj[i].Psi1MassUpperCut         = Psi_hi
 
 1020         list2_2trk2trk_obj[i].Jpsi2MassLowerCut        = Jpsi_lo
 
 1021         list2_2trk2trk_obj[i].Jpsi2MassUpperCut        = Jpsi_hi
 
 1022         list2_2trk2trk_obj[i].Psi2MassLowerCut         = Psi_lo
 
 1023         list2_2trk2trk_obj[i].Psi2MassUpperCut         = Psi_hi
 
 1024         list2_2trk2trk_obj[i].MassLowerCut             = 0.
 
 1025         list2_2trk2trk_obj[i].MassUpperCut             = X_hi
 
 1026         list2_2trk2trk_obj[i].Jpsi1Mass                = list2_2trk2trk_jpsi1mass[i]
 
 1027         list2_2trk2trk_obj[i].Psi1Mass                 = list2_2trk2trk_psi1mass[i]
 
 1028         list2_2trk2trk_obj[i].Jpsi2Mass                = list2_2trk2trk_jpsi2mass[i]
 
 1029         list2_2trk2trk_obj[i].Psi2Mass                 = list2_2trk2trk_psi2mass[i]
 
 1030         list2_2trk2trk_obj[i].ApplyJpsi1MassConstraint = 
True 
 1031         list2_2trk2trk_obj[i].ApplyPsi1MassConstraint  = 
True 
 1032         list2_2trk2trk_obj[i].ApplyJpsi2MassConstraint = 
True 
 1033         list2_2trk2trk_obj[i].ApplyPsi2MassConstraint  = 
True 
 1034         list2_2trk2trk_obj[i].Chi2Cut                  = 30.
 
 1036         list2_2trk2trk_obj[i].TrkVertexFitterTool      = vkalvrt
 
 1037         list2_2trk2trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
 1038         list2_2trk2trk_obj[i].OutputVertexCollections  = [
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_MainVtx"]
 
 1039         list2_2trk2trk_obj[i].VxPrimaryCandidateName   = 
"PrimaryVertices" 
 1040         list2_2trk2trk_obj[i].RefPVContainerName       = 
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_RefPrimaryVertices" 
 1041         list2_2trk2trk_obj[i].RefitPV                  = 
True 
 1042         list2_2trk2trk_obj[i].MaxnPV                   = 100
 
 1045     list_all_obj = list_2trk0trk_obj + list_1trk0trk_obj + list_1trk1trk_obj + list_2trk1trk_obj + list_1trk2trk_obj + list_2trk2trk_obj
 
 1046     list2_all_obj = list2_2trk0trk_obj + list2_1trk0trk_obj + list2_1trk1trk_obj + list2_2trk1trk_obj + list2_2trk2trk_obj
 
 1048     OutputCollections = []
 
 1049     RefPVContainers = []
 
 1050     RefPVAuxContainers = []
 
 1051     passedCandidates = []
 
 1053     for obj 
in list_all_obj:
 
 1054         OutputCollections += obj.CascadeVertexCollections
 
 1055         RefPVContainers += [
"xAOD::VertexContainer#BPHY23_" + obj.HypothesisName + 
"_RefPrimaryVertices"]
 
 1056         RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY23_" + obj.HypothesisName + 
"_RefPrimaryVerticesAux."]
 
 1057         passedCandidates += [
"BPHY23_" + obj.HypothesisName + 
"_CascadeVtx3"]
 
 1059     for obj 
in list2_all_obj:
 
 1060         OutputCollections += obj.OutputVertexCollections
 
 1061         RefPVContainers += [
"xAOD::VertexContainer#BPHY23_" + obj.HypothesisName + 
"_RefPrimaryVertices"]
 
 1062         RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY23_" + obj.HypothesisName + 
"_RefPrimaryVerticesAux."]
 
 1063         passedCandidates += [
"BPHY23_" + obj.HypothesisName + 
"_MainVtx"]
 
 1065     BPHY23_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name = 
"BPHY23_SelectEvent", VertexContainerNames = passedCandidates)
 
 1066     acc.addPublicTool(BPHY23_SelectEvent)
 
 1068     augmentation_tools = [BPHY23_Reco_mumu, BPHY23FourTrackReco_PsiX3872, BPHY23FourTrackReco_Bs0, BPHY23FourTrackReco_B0, BPHY23ThreeTrackReco_Zc3900, BPHY23ThreeTrackReco_Bpm, BPHY23Rev_Psi4Body, BPHY23Rev_X3872, BPHY23Rev_Bs0, BPHY23Rev_B0Kpi, BPHY23Rev_B0piK, BPHY23Rev_Zc3900, BPHY23Rev_Bpm, BPHY23Select_Jpsi, BPHY23Select_Psi, BPHY23Select_Upsi, BPHY23Rev_Jpsi, BPHY23Rev_Psi, BPHY23Rev_Upsi] + list_all_obj + list2_all_obj
 
 1069     for t 
in augmentation_tools : acc.addPublicTool(t)
 
 1071     acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
 
 1073         AugmentationTools = augmentation_tools,
 
 1074         SkimmingTools     = [BPHY23_SelectEvent]
 
 1077     from DerivationFrameworkCore.SlimmingHelper 
import SlimmingHelper
 
 1078     from OutputStreamAthenaPool.OutputStreamConfig 
import OutputStreamCfg
 
 1079     from xAODMetaDataCnv.InfileMetaDataConfig 
import SetupMetaDataForStreamCfg
 
 1080     BPHY23SlimmingHelper = 
SlimmingHelper(
"BPHY23SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
 
 1081     from DerivationFrameworkBPhys.commonBPHYMethodsCfg 
import getDefaultAllVariables
 
 1083     BPHY23_StaticContent = []
 
 1086     BPHY23SlimmingHelper.IncludeMuonTriggerContent = 
True 
 1087     BPHY23SlimmingHelper.IncludeBPhysTriggerContent = 
True 
 1090     BPHY23_AllVariables += [
"PrimaryVertices"]
 
 1091     BPHY23_StaticContent += RefPVContainers
 
 1092     BPHY23_StaticContent += RefPVAuxContainers
 
 1095     BPHY23_AllVariables += [
"InDetTrackParticles"]
 
 1100     BPHY23_AllVariables += [
"CombinedMuonTrackParticles", 
"ExtrapolatedMuonTrackParticles"]
 
 1103     BPHY23_AllVariables += [
"Muons", 
"MuonSegments"]
 
 1106     for output 
in OutputCollections:
 
 1107         BPHY23_StaticContent += [
"xAOD::VertexContainer#%s" % output]
 
 1108         BPHY23_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
 
 1112         BPHY23_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
 
 1114     BPHY23SlimmingHelper.SmartCollections = [
"Muons", 
"PrimaryVertices", 
"InDetTrackParticles"]
 
 1115     BPHY23SlimmingHelper.AllVariables = BPHY23_AllVariables
 
 1116     BPHY23SlimmingHelper.StaticContent = BPHY23_StaticContent
 
 1118     BPHY23ItemList = BPHY23SlimmingHelper.GetItemList()
 
 1119     acc.merge(
OutputStreamCfg(flags, 
"DAOD_BPHY23", ItemList=BPHY23ItemList, AcceptAlgs=[
"BPHY23Kernel"]))
 
 1120     acc.merge(
SetupMetaDataForStreamCfg(flags, 
"DAOD_BPHY23", AcceptAlgs=[
"BPHY23Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
 
 1121     acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True)