13 A totally synthetic test of scheduler performance, with a large number of CF nodes and algorithms, but each algorithm does no work. 
   15 In the flat mode (nested=False) 1000 algorithms are added directly to the base CF node as a baseline measurement. 
   17 In nested mode the algorithms are grouped into sets of under a parent CF node. 
   18 Those nodes are then given 2 different CF node parents (20 in total) which include a prescale algorithm. 
   20 In sequential mode (sequence=True) the prescale algorithms will randomly deactivate CF nodes at a frequency given by filterPass 
   22 from Configurables 
import (
 
   24     AvalancheSchedulerSvc,
 
   49 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots, OutputLevel=FATAL)
 
   57 slimeventloopmgr = HiveSlimEventLoopMgr(
 
   58     SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=INFO
 
   68 scheduler = AvalancheSchedulerSvc(
 
   69     ThreadPoolSize=threads,
 
   70     ShowControlFlow=
False,
 
   71     ShowDataDependencies=
False,
 
   79 AlgResourcePool(OutputLevel=FATAL)
 
   86     alg = Prescaler(
"alg" + str(i))
 
   87     alg.OutputLevel = FATAL
 
   88     alg.Cardinality = cardinality
 
   89     alg.PercentPass = 100.0
 
   92 baseSeq = GaudiSequencer(
 
  106         seqAlgs = allAlgs[10 * i : 10 * (i + 1)]
 
  107         seq = GaudiSequencer(
 
  118         seqSeqs = allSeqs[10 * i : 10 * (i + 1)]
 
  120         filterAlg = Prescaler(
"filterAlg" + str(i))
 
  121         filterAlg.OutputLevel = FATAL
 
  122         filterAlg.Cardinality = cardinality
 
  123         filterAlg.PercentPass = filterPass
 
  125         seq = GaudiSequencer(
 
  127             Members=[filterAlg] + seqSeqs,
 
  133         allSeqSeqs.append(seq)
 
  136         seqSeqs = allSeqs[5 + (10 * i) : 15 + (10 * i)]
 
  138         filterAlg = Prescaler(
"filterAlg" + str(i + 10))
 
  139         filterAlg.OutputLevel = FATAL
 
  140         filterAlg.Cardinality = cardinality
 
  141         filterAlg.PercentPass = filterPass
 
  143         seq = GaudiSequencer(
 
  144             "seqSeq" + str(i + 10),
 
  145             Members=[filterAlg] + seqSeqs,
 
  151         allSeqSeqs.append(seq)
 
  153     baseSeq.Members = allSeqSeqs
 
  162     EventLoop=slimeventloopmgr,
 
  164     MessageSvcType=
"InertMessageSvc",