assnschainutils_test.fcl
Go to the documentation of this file.
1 #
2 # File: assnschainutils_test.fcl
3 # Purpose: test of lar::FindManyPinChain().
4 # Author: Gianluca Petrillo (petrillo@fnal.gov)
5 # Date: June 23, 2017
6 #
7 # Description:
8 # This jobs creates hits, clusters, showers, particle flow objects and their
9 # associations.
10 # Finally, the analyser exercises the chained query.
11 #
12 # Output: no output file is produced.
13 #
14 
15 #include "messageservice.fcl"
16 
17 BEGIN_PROLOG
18 inline_paths: {
19  hitmakers: [ hitmakerone, hitmakertwo, hitmakerthree, hitmakerfour, hitmakerfive ]
20  clustermakers: [ clustermakerone, clustermakertwo, clustermakerthree, clustermakerfour ]
21  pfparticlemakers: [ pfparticlemakerone, pfparticlemakertwo, pfparticlemakerthree ]
22  showermakers: [ showermakerone, showermakertwo ]
23 }
24 END_PROLOG
25 
26 process_name: AssnsChainTest
27 
28 services: {
29  message: @local::standard_info
30 } # services
31 
32 
33 source: {
34  module_type: EmptyEvent
35  maxEvents: 2
36 }
37 
38 
39 physics: {
40 
41  producers: {
42 
43  hitmakerone: {
44  module_type: AssnsChainHitMaker
45  nHits: 1000
46  } # hitmakerone
47 
48  hitmakertwo: {
49  module_type: AssnsChainHitMaker
50  nHits: 800
51  } # hitmakertwo
52 
53  hitmakerthree: {
54  module_type: AssnsChainHitMaker
55  nHits: 600
56  } # hitmakerthree
57 
58  hitmakerfour: {
59  module_type: AssnsChainHitMaker
60  nHits: 400
61  } # hitmakerfour
62 
63  hitmakerfive: {
64  module_type: AssnsChainHitMaker
65  nHits: 200
66  } # hitmakerfive
67 
68 
69  clustermakerone: {
70  module_type: AssnsChainClusterMaker
71  hits: [ "hitmakerone" ]
72  hitsPerCluster: 50
73  } # clustermakerone
74 
75  clustermakertwo: {
76  module_type: AssnsChainClusterMaker
77  hits: [ "hitmakertwo" ]
78  hitsPerCluster: 50
79  } # clustermakertwo
80 
81  clustermakerthree: {
82  module_type: AssnsChainClusterMaker
83  hits: [ "hitmakerthree" ]
84  hitsPerCluster: 50
85  } # clustermakerthree
86 
87  clustermakerfour: {
88  module_type: AssnsChainClusterMaker
89  hits: [ "hitmakerfour", "hitmakerfive" ]
90  hitsPerCluster: 50
91  } # clustermakerfour
92 
93 
94  pfparticlemakerone: {
95  module_type: AssnsChainPFParticleMaker
96  clusters: [ "clustermakerone" ]
97  clustersPerPFO: 3
98  } # pfparticlemakerone
99 
100  pfparticlemakertwo: {
101  module_type: AssnsChainPFParticleMaker
102  clusters: [ "clustermakertwo" ]
103  clustersPerPFO: 3
104  } # pfparticlemakertwo
105 
106  pfparticlemakerthree: {
107  module_type: AssnsChainPFParticleMaker
108  clusters: [ "clustermakerthree", "clustermakerfour" ]
109  clustersPerPFO: 3
110  } # pfparticlemakerthree
111 
112 
113  showermakerone: {
114  module_type: AssnsChainShowerMaker
115  particles: [ "pfparticlemakerone" ]
116  } # showermakerone
117 
118  showermakertwo: {
119  module_type: AssnsChainShowerMaker
120  particles: [ "pfparticlemakertwo", "pfparticlemakerthree" ]
121  } # showermakertwo
122 
123 
124  } # producers
125 
126  analyzers: {
127 
128  checkone: {
129  module_type: AssnsChainTest
130  showers: showermakerone
131  nHits: 1000
132  nClusters: 20
133  nParticles: 7 # the last one misses one cluster
134  nShowers: 7
135  } # checkone
136 
137  checktwo: {
138  module_type: AssnsChainTest
139  showers: showermakertwo
140  nHits: 2000 # [two] 800 + [three] 600 + [four] 400 + [five] 200
141  nClusters: 40 # [two] 16 + [three] 12 + [four] (8 + 4)
142  nParticles: 14 # [two] 6 (last one with 2 clusters) + [three] (4 + 4)
143  nShowers: 14 # [two] 6 + 8
144  } # checktwo
145 
146  } # analyzers
147 
148  makers: [ @sequence::inline_paths.hitmakers,
149  @sequence::inline_paths.clustermakers,
150  @sequence::inline_paths.pfparticlemakers,
151  @sequence::inline_paths.showermakers ]
152  test: [ checkone, checktwo ]
153 
154 } # physics