26def createDefaultBunchGroupSet(flags):
27 """
28 sets default bunchgroups for all menus, needed for simulation.
29 """
30 if hasattr(L1MenuFlags, "BunchGroupNames"):
31
32 name = L1MenuFlags.MenuSetup().partition('_')[0]
33 bgs = BunchGroupSet(name)
34 bgs.addBunchGroup( BunchGroupSet.BunchGroup(name =
'BCRVeto', internalNumber = 0).addRange(0,3539).addRange(3561,3563).
normalize() )\
35 .addBunchGroup( BunchGroupSet.BunchGroup(name =
'Paired', internalNumber = 1).addTrain(0,3445).addTrain(3536,4).addTrain(3561,3).
normalize() )
36 if flags.Beam.Type is BeamType.Cosmics:
37 bgs.addBunchGroup( BunchGroupSet.BunchGroup(name =
'EMPTY', internalNumber = 3).addTrain(0,3564).
normalize() )
38
39 bunchgroupnames = L1MenuFlags.BunchGroupNames()[:Limits.NumBunchgroups]
40 bunchgroupnames += ['NotUsed'] * (Limits.NumBunchgroups - len(bunchgroupnames))
41 for i,bgname in enumerate(bunchgroupnames):
42 bgs.bunchGroups[i].name = bgname
43 else:
44 bgs = createDefaultBunchGroupSetMC()
45
46 return bgs
47
48