1 |
acosta |
1.11 |
\section{Offline Software}
|
2 |
|
|
\subsection{Sequence of Releases}
|
3 |
|
|
The following releases of CMSSW software were employed for the CSA06 challenge and pre-challenge activities:
|
4 |
|
|
\begin{itemize}
|
5 |
|
|
\item CMSSW\_0\_8\_x: available July 2006, validated for large-scale simulation
|
6 |
|
|
\begin{itemize}
|
7 |
|
|
\item CMSSW\_0\_8\_1: minimum bias events
|
8 |
|
|
\item CMSSW\_0\_8\_2 and 0\_8\_3: for signal samples (as generator filters became available)
|
9 |
|
|
\end{itemize}
|
10 |
|
|
\item CMSSW\_1\_0\_x: available September 2006, validated for large-scale reconstruction, consisting of over 0.5M lines of code
|
11 |
|
|
\begin{itemize}
|
12 |
|
|
\item CMSSW\_1\_0\_2: minimum-bias reconstruction
|
13 |
|
|
\item CMSSW\_1\_0\_3: fixes to improve robustness of signal samples
|
14 |
|
|
\item CMSSW\_1\_0\_4: Alignment/Calibration skim dataset production
|
15 |
|
|
\item CMSSW\_1\_0\_6: Frontier access ready, analysis skims ready
|
16 |
|
|
\end{itemize}
|
17 |
|
|
\end{itemize}
|
18 |
|
|
|
19 |
|
|
% begin Filip
|
20 |
|
|
\subsection{Generation}
|
21 |
|
|
|
22 |
acosta |
1.17 |
For the CSA06 exercise, 50 million events were requested to be
|
23 |
acosta |
1.11 |
generated, simulated and
|
24 |
|
|
reconstructed; they consist of the 9 samples outlined below.
|
25 |
|
|
For all samples, the PYTHIA generator interface was used (version 6.227),
|
26 |
|
|
with the CTEQ5.1 Parton Density Functions. For the description of the
|
27 |
|
|
underlying Event, Tune DWT (Rick Field) was used.
|
28 |
|
|
Some of the samples were preselected using generator-level information.
|
29 |
|
|
For these samples, EDFilters were invoked right after the generation step.
|
30 |
|
|
The samples were:
|
31 |
|
|
\begin{enumerate}
|
32 |
|
|
\item {\em Minimum Bias}: 25 million events (produced with
|
33 |
|
|
CMSSW\_0\_8\_1).
|
34 |
|
|
All non-elastic processes (including diffractive and double-diffractive)
|
35 |
|
|
switched on.
|
36 |
|
|
\item {\em $t\bar{t}$}: 5 million events (produced with CMSSW\_0\_8\_2).
|
37 |
|
|
All decay channels open.
|
38 |
|
|
\item{\em $Z \rightarrow \mu\mu$}: 2 million events (produced with
|
39 |
|
|
CMSSW\_0\_8\_2)
|
40 |
|
|
\item{\em $W \rightarrow e \nu$}: 4 million events (produced with
|
41 |
|
|
CMSSW\_0\_8\_3) selected in an $\eta$, $\phi$ range as to illuminate 2
|
42 |
|
|
supermodules.
|
43 |
|
|
\item{\em Soft Muon Soup}: 2 million events (produced with
|
44 |
|
|
CMSSW\_0\_8\_3), of which 1 million of inclusive muon events filtered from
|
45 |
|
|
Min Bias and 1 million $J/\psi$ events with $P_T(\mu)$ $>$ 4 GeV.
|
46 |
|
|
\item{\em Electroweak soup}: 5 million events (produced with
|
47 |
|
|
CMSSW\_0\_8\_3) consisting of
|
48 |
|
|
2.6 million $W \rightarrow l \nu$, 2.2 million Drell-Yan (mass $>$ 15
|
49 |
|
|
GeV),
|
50 |
|
|
0.1 million $H \rightarrow WW$ events and 0.1 million $WW$ events. For
|
51 |
|
|
the last two subsamples, the cross sections were artificially reweighted
|
52 |
|
|
in order to produce the desired event mix. All 3 charged lepton
|
53 |
|
|
generations are included.
|
54 |
|
|
\item{\em Jet Calibration Soup}: 1.2 million events (produced with
|
55 |
|
|
CMSSW\_0\_8\_3) consisting of dijet and $Z$+jet events, in various
|
56 |
acosta |
1.17 |
$\hat{p_t}$ bins reweighted to give the event numbers desired by the
|
57 |
acosta |
1.11 |
Jet-MET group.
|
58 |
|
|
\item{\em{Exotics Soup}}: 1 million events (produced with CMSSW\_0\_8\_3)
|
59 |
|
|
consisting of
|
60 |
|
|
0.22 million excited quarks (400 GeV) events (all decays), 0.39 million
|
61 |
|
|
$Z'$ (700 GeV) events (all decays) and 0.39 million SUSY LM1 events (all
|
62 |
|
|
decays).
|
63 |
|
|
\item{\em HLT Soup}: 5 million events (produced with CMSSW\_0\_8\_4)
|
64 |
|
|
consisting of W (forced to charged leptons), Drell-Yan (mass $>$ 20 GeV,
|
65 |
|
|
forced to charged leptons), $t\bar{t}$ events (all decays)
|
66 |
|
|
and QCD dijets ($\hat{p_t}$ $>$ 350 GeV)
|
67 |
|
|
\end{enumerate}
|
68 |
|
|
%end Filip
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
\subsection{Simulation and Geometry}
|
72 |
|
|
|
73 |
|
|
The first step of the CSA06 challenge consisted of the preparation of
|
74 |
|
|
large simulated datasets, some of which included High Level Trigger
|
75 |
|
|
(HLT) tags.
|
76 |
|
|
|
77 |
|
|
The produced samples of over 60M events were obtained using the CMSSW\_0\_8\_x
|
78 |
|
|
series of releases. The physics generator input, based on Pythia, is
|
79 |
|
|
described in the previous section along with a
|
80 |
|
|
description of the generator datasets.
|
81 |
|
|
|
82 |
|
|
Simulation in the CMSSW\_0\_8\_x series is based on the 7.1 version of
|
83 |
|
|
the Geant4 simulation toolkit. The full simulation chain consists of
|
84 |
|
|
the detailed description of the CMS detector setup in the 4 Tesla
|
85 |
|
|
magnetic field, particle propagation and physics process modeling, hit
|
86 |
|
|
collection in the sensitive detector elements and signal digitization
|
87 |
|
|
taking into account all relevant effects. Pile-up, however, was not available
|
88 |
|
|
at this stage of integration.
|
89 |
|
|
In addition to the simulation chain, the simulation applications available
|
90 |
|
|
with the CMSSW\_0\_8\_x release are the GeometryProducer for visualization
|
91 |
|
|
debugging, and a set of hit and digi level packages which are part of
|
92 |
|
|
the Software Validation Suite (SVSuite).
|
93 |
|
|
|
94 |
|
|
The simulation chain, i.e. geometry, simulation and digitization, was
|
95 |
|
|
extensively validated in terms of description correctness, detector
|
96 |
|
|
response, physics quality and software robustness and performance,
|
97 |
|
|
using the SVSuite.
|
98 |
|
|
|
99 |
|
|
\subsubsection{Infrastructure}
|
100 |
|
|
|
101 |
|
|
Simulation infrastructure in CMSSW\_0\_8\_x included the following elements:
|
102 |
|
|
|
103 |
|
|
\begin{itemize}
|
104 |
|
|
\item User hooks or observers which allowed access detector simulation
|
105 |
|
|
information at the beginning/end of a track, run, or event, and at every step
|
106 |
|
|
in Geant4 tracking.
|
107 |
|
|
\item Interface to a realistic magnetic field.
|
108 |
|
|
\item QGSP and LHEP physics lists in Geant4, as well as interface to set cuts
|
109 |
|
|
per sub-detector on the production of secondary particles by Geant4.
|
110 |
|
|
\item Use of random number service provided by the Framework project.
|
111 |
|
|
\item An exception catcher tool to skip events in cases of a divide by zero,
|
112 |
|
|
invalid, overflow, underflow.
|
113 |
|
|
\end{itemize}
|
114 |
|
|
|
115 |
|
|
Some of the infrastructure features which were missing for CSA06 and will be
|
116 |
|
|
added in the future are:
|
117 |
|
|
|
118 |
|
|
\begin{itemize}
|
119 |
|
|
\item Validation of a G4.8.1 based version of CMSSSW and subsequent migration.
|
120 |
|
|
\item Commissioning of the geometry overlap detection tool.
|
121 |
|
|
\item Local magnetic field management
|
122 |
|
|
\item Optimization of simulation parameters for speed and accuracy
|
123 |
|
|
\item Development of capability to overlap real data to Monte Carlo signal
|
124 |
|
|
events.
|
125 |
|
|
\item GFlash parameterization of hadronic showers.
|
126 |
|
|
\end{itemize}
|
127 |
|
|
|
128 |
|
|
\subsubsection{Performance and Robustness}
|
129 |
|
|
|
130 |
|
|
The simulation chain, which includes generation, Geant4 based detector
|
131 |
|
|
simulation, and digitization is very robust from the point of view of crash
|
132 |
acosta |
1.13 |
rate. Crashes are very rare, on the order of 10$^{-4}$--10$^{-6}$ per event.
|
133 |
|
|
This robust performance, however, is partially due to the action of the
|
134 |
acosta |
1.11 |
exception catcher, based on the FloatingPointException (FPE) service.
|
135 |
|
|
Otherwise, there would be a large crash rate due to Geant4 unsafe features,
|
136 |
|
|
as well as overlap of CMS detector volumes. The fraction of events skipped
|
137 |
acosta |
1.17 |
by the exception catcher tool is approximately 0.5$\%$ for minimum bias,
|
138 |
acosta |
1.11 |
and 2$\%$ for QCD events. Preliminary studies using G4.8.1 based CMS
|
139 |
|
|
simulations show a significantly improved behavior of Geant4. At the same
|
140 |
|
|
time, the geometry is currently being debugged to remove volume overlaps.
|
141 |
acosta |
1.17 |
Time performance performed on Min-Bias, H(300~GeV)$\rightarrow ee \mu \mu$,
|
142 |
acosta |
1.11 |
and heavy ion events gave average values of 48, 247, and 5976 seconds per
|
143 |
|
|
event, respectively.
|
144 |
|
|
|
145 |
|
|
\subsubsection{Geometry, Hits, Digi Implementation and Verification}
|
146 |
|
|
|
147 |
|
|
Before the CSA06 exercise, the geometry of all the sub-detector systems,
|
148 |
acosta |
1.18 |
except the electromagnetic calorimeter (ECAL), has been re-written using the
|
149 |
acosta |
1.11 |
Detector Description Database (DDD) xml based tools. It has also been
|
150 |
|
|
verified against the old implementation based on a machine translation to xml
|
151 |
|
|
of the CMSIM Geant3 geometry. The new material budget description of
|
152 |
|
|
all tracker sub-systems except the Forward Pixels (FPix) and the Tracker
|
153 |
|
|
Outer Barrel (TOB) is in excellent agreement with the old implementation.
|
154 |
|
|
The FPix description has been improved and is more accurate than the previous
|
155 |
|
|
one. The TOB differences are not understood and under investigation. The
|
156 |
|
|
tracker group is performing a validation of the geometry description based
|
157 |
|
|
on weighing the actual unite modules.
|
158 |
acosta |
1.18 |
The ECAL material budget in the new and old implementations was verified to be
|
159 |
acosta |
1.11 |
identical, as expected. A new post-CSA06 DDD/xml based geometry is now
|
160 |
acosta |
1.18 |
completed for the ECAL barrel and pre-shower detectors and is being validated.
|
161 |
acosta |
1.11 |
The agreement between the old and new Hcal geometry implementations is nearly
|
162 |
|
|
perfect. The muon geometry was also re-developed and awaits verification.
|
163 |
|
|
A Geometry SVSuite package was developed to test material budget.
|
164 |
|
|
Hits and Digis were implemented in CMSSW for all sub-detector systems and
|
165 |
|
|
verified versus OSCAR/ORCA results using their respective SVSuite packages.
|
166 |
|
|
Corrections and updates were, however, incorporated as the code is tested
|
167 |
|
|
from CSA06 and physics validation samples.
|
168 |
acosta |
1.13 |
The forward detectors (Zero Degree Calorimeter (ZDC), Totem, Castor) were
|
169 |
acosta |
1.11 |
also available for CSA06 as standalone CMSSW applications, outside the CMS
|
170 |
|
|
detector simulation chain.
|
171 |
|
|
|
172 |
|
|
|
173 |
|
|
\subsection{Filtering and Streaming}
|
174 |
acosta |
1.14 |
\label{sec:filtering}
|
175 |
acosta |
1.11 |
CMSSW included filtering technology to select events at the
|
176 |
|
|
generator-level, at HLT, and for skimming datasets secondary
|
177 |
|
|
datasets. The ability to write out multiple output files
|
178 |
|
|
simultaneously was included. The ability to merge input files into a
|
179 |
|
|
single output file was also provided.
|
180 |
|
|
|
181 |
acosta |
1.12 |
In order to simplify the definition of filtering modules, we used a
|
182 |
|
|
generic approach implemented with C++ templates. This could be
|
183 |
|
|
achieved because all RECO/AOD objects have the same naming convention
|
184 |
acosta |
1.13 |
for member functions returning the same type of information (like
|
185 |
|
|
$p_{\rm T}$,
|
186 |
|
|
$E_{\rm T}$, and so on). Generic filter modules have been written for
|
187 |
acosta |
1.12 |
the most commonly used selection criteria. Events are selected by a
|
188 |
acosta |
1.13 |
filter module if they contain at least a specified number of reconstructed
|
189 |
acosta |
1.12 |
objects passing a specified selection criterion. ``Primitive'' selection
|
190 |
|
|
criteria are defined based on a single variable cut and can be
|
191 |
|
|
combined with Boolean operations to create a richer variety of
|
192 |
|
|
selections. The generic modules have been instantiated for the objects
|
193 |
|
|
types of interest (electrons, muons, jets, tracks, etc.) and for the
|
194 |
|
|
selection criteria of interest for that object type, creating in a
|
195 |
|
|
release a large ``suite'' of selector and filter modules ready to be
|
196 |
|
|
plugged in cascade in any skimming sequence. All cuts for all modules
|
197 |
|
|
are fully configurable via the parameter set mechanism provided by the
|
198 |
|
|
Framework.
|
199 |
|
|
|
200 |
acosta |
1.11 |
\subsection{Higher Level Trigger}
|
201 |
|
|
|
202 |
acosta |
1.13 |
A total of 12 HLT triggers from the Physics TDR Vol.2 \cite{ptdr2}
|
203 |
|
|
trigger menu
|
204 |
acosta |
1.11 |
were implemented in CMSSW for the CSA06. The CSA06 HLT triggers are
|
205 |
acosta |
1.13 |
based on Monte Carlo information using generator-level
|
206 |
acosta |
1.11 |
photons, electrons, muons, taus and jets clustered from
|
207 |
|
|
generator-level particles. The trigger thresholds, all denoting
|
208 |
|
|
transverse momentum inside the relevant subdetector acceptance, are
|
209 |
|
|
listed in the following table.
|
210 |
|
|
|
211 |
|
|
\begin{table}[htb]
|
212 |
acosta |
1.13 |
\centering
|
213 |
|
|
\caption{List of implemented HLT triggers, based on generator-level
|
214 |
acosta |
1.19 |
particles. \label{tab:hlt-defs}}
|
215 |
acosta |
1.13 |
\vspace{3mm}
|
216 |
acosta |
1.11 |
\begin{tabular}{|l|l|l|}
|
217 |
|
|
\hline
|
218 |
acosta |
1.20 |
Name & Mnemonic & Threshold (GeV) \\ \hline
|
219 |
acosta |
1.11 |
Single Gamma & p1g & 80 \\
|
220 |
|
|
Double Gamma & p2g & 30,20 \\
|
221 |
|
|
Single electron & p1e & 26 \\
|
222 |
|
|
Double electron & p2e & 12,12 \\
|
223 |
|
|
Single Muon & p1m & 19 \\
|
224 |
|
|
Double Muon & p2m & 7,7 \\
|
225 |
|
|
Single Tau & p1t & 100 \\
|
226 |
|
|
Double Tau & p2t & 60,60 \\
|
227 |
|
|
Single Jet & p1j & 400 \\
|
228 |
|
|
DiJet & p2j & 350 \\
|
229 |
|
|
TriJet & p3j & 195 \\
|
230 |
|
|
Quad Jet & p4j & 80 \\
|
231 |
|
|
\hline
|
232 |
|
|
\end{tabular}
|
233 |
|
|
\end{table}
|
234 |
|
|
|
235 |
|
|
%% added by MWG /start
|
236 |
|
|
|
237 |
|
|
The above HLT triggers are identified by their mnemonics, or by a
|
238 |
|
|
non-negative consecutive integer number (serving as an index into a
|
239 |
|
|
C++ vector). The number is assigned based on the relative order in
|
240 |
|
|
which the HLT trigger paths appear in the configuration file. Because
|
241 |
|
|
the workflow management converts configuration files to python files
|
242 |
|
|
and back, this order was mangled, and the expected bit positions did
|
243 |
|
|
not correspond to the actual ones. To alleviate this problem, the
|
244 |
acosta |
1.17 |
keyword {\em schedule} was introduced, during the CSA exercise, into
|
245 |
acosta |
1.11 |
the configuration language. This statement allows to specify the
|
246 |
|
|
order of paths. A default schedule statement is implicitly generated
|
247 |
|
|
from the order encountered in the configuration file in case the user
|
248 |
acosta |
1.17 |
does not specify one explicitly.
|
249 |
acosta |
1.11 |
|
250 |
|
|
In general, access to specific trigger bits and trigger results should
|
251 |
|
|
rely on the mnemonics rather than integer enumerations. Acess through
|
252 |
|
|
mnemonics is not affected by re-ordering problems. However, using
|
253 |
|
|
integer positions has the advantage of using less memory space and is
|
254 |
|
|
thus used internally; recall that the HLT trigger table is the same
|
255 |
|
|
for a large number of events.
|
256 |
|
|
|
257 |
|
|
%% added by MWG /end
|
258 |
|
|
|
259 |
|
|
When the prepared sample of generated events was split into separate
|
260 |
|
|
datasets, similar triggers were grouped together such that 4 output
|
261 |
|
|
datasets were created: photons, electrons, muons, and jets
|
262 |
|
|
(essentially no events passed the generator-level thresholds for the
|
263 |
|
|
tau triggers).
|
264 |
|
|
|
265 |
|
|
|
266 |
|
|
\subsection{Reconstruction}
|
267 |
|
|
The CSA06 related goals were (in order of importance)
|
268 |
|
|
\begin{itemize}
|
269 |
|
|
\item A release containing reconstruction modules for all high level objects
|
270 |
|
|
\item Reconstruction code stable, able to run on tens of million of events without a significant crash rate
|
271 |
|
|
\item Reconstruction code able to process a few thousand events per job, without suffering from memory leaks. On complex event samples, this meant more than 12 hours of running without glitches
|
272 |
|
|
\item Reconstruction code usable for detector studies as well as first look at physics analysis.
|
273 |
|
|
\end{itemize}
|
274 |
|
|
|
275 |
acosta |
1.13 |
While the first CSA06 oriented version was CMSSW\_1\_0\_0 (end of Sept.
|
276 |
|
|
2006), stability/performance tests were run during the summer using
|
277 |
|
|
integration releases, and led to fixing the majority of technical
|
278 |
|
|
problems.
|
279 |
acosta |
1.11 |
|
280 |
|
|
CMSSW\_1\_0\_0 contained reconstruction components for
|
281 |
|
|
\begin{itemize}
|
282 |
|
|
\item Local detector reconstruction (clustering, segment building in muon chambers)
|
283 |
|
|
\item Super Clustering in the ECAL with Brem recovery
|
284 |
|
|
\item Full tracking using Kalman Filter and Combinatorial Track Finding
|
285 |
|
|
\item Fast tracking (trigger like) using only the pixel subsystem
|
286 |
|
|
\item Jet reconstruction (MidPoint and Iterative Cone algorithms)
|
287 |
acosta |
1.18 |
\item Missing $E_T$ reconstruction
|
288 |
acosta |
1.11 |
\item Electron reconstruction seeded with ECAL Super Clusters
|
289 |
|
|
\item Photon reconstruction
|
290 |
|
|
\item Standalone and Global Muon reconstruction (Muon + Tracker links)
|
291 |
|
|
\item Primary vertices with full tracking and pixel only tracking
|
292 |
|
|
\item B Tagging using track counting
|
293 |
|
|
\item Tau Tagging using calorimetric and tracker (isolation) variables
|
294 |
|
|
\end{itemize}
|
295 |
|
|
|
296 |
acosta |
1.13 |
The modules were organized in framework sequences, local, global and
|
297 |
|
|
high level, and were consistently run for all data samples.
|
298 |
|
|
The code, after the summer tuning and some other late moment fixes,
|
299 |
|
|
was able to run with a negligible crash rate and without showing
|
300 |
|
|
memory problems, on all of the CSA06 samples.
|
301 |
|
|
The two extreme conditions (minimum bias low $p_{\rm T}$ events and TTbar
|
302 |
|
|
events) are shown in Table~\ref{table:recotiming}.
|
303 |
acosta |
1.11 |
|
304 |
|
|
\begin{table}[h]
|
305 |
|
|
\vspace{3mm}
|
306 |
acosta |
1.13 |
\centering
|
307 |
|
|
\caption{Time and memory footprint during CSA06 in two extreme cases. The memory is measured when the steady state is reached. }
|
308 |
|
|
\label{table:recotiming}
|
309 |
acosta |
1.11 |
{\centering
|
310 |
|
|
\begin{tabular}[t]{|l|c|c|}
|
311 |
|
|
\hline
|
312 |
|
|
& Minbias Events & TTbar Events \\\hline
|
313 |
|
|
Time (sec/ev) & 3.5 & 25\\
|
314 |
acosta |
1.17 |
Memory Footprint (MB) & 400 & 700 \\\hline
|
315 |
acosta |
1.11 |
\end{tabular}
|
316 |
|
|
\par}
|
317 |
|
|
\vspace{3mm}
|
318 |
|
|
\end{table}
|
319 |
|
|
% END TABLE X
|
320 |
|
|
|
321 |
|
|
|
322 |
|
|
The main challenge we faced during summer and fall 2006 was to manage
|
323 |
|
|
the rapid deployment of the reconstruction packages as well as
|
324 |
|
|
maintain stability and backward-compatibility of data structures and
|
325 |
|
|
code to enable the CSA challenge to be run. As this was also the first
|
326 |
|
|
appearance of some of these packages in the new software environment,
|
327 |
|
|
validation was and is an extremely important and urgent task.
|
328 |
|
|
|
329 |
|
|
While much of the reconstruction code was quite recent at the start of
|
330 |
|
|
CSA06 T0 processing, previous and a-posteriori checks have shown that
|
331 |
|
|
the reconstruction output is useful from physics point of view, and
|
332 |
|
|
allows speeding up the validation process the developers are now
|
333 |
|
|
focusing on. That apart, the huge and coordinated CSA06 effort, with
|
334 |
|
|
its variety of use cases for reconstruction software (plain, with
|
335 |
|
|
calibrations, reprocessing) has been valuable to uncover some weak
|
336 |
acosta |
1.13 |
points in the overall structure, e.g. configuration file structure
|
337 |
|
|
being too naive and not flexible enough
|
338 |
|
|
(which has been changed since). In fact
|
339 |
|
|
many of the changes which went into the CMSSW\_1\_2\_0 development
|
340 |
|
|
release do come from the lessons learnt during CSA06. The
|
341 |
|
|
reconstruction code as in CMSSW\_1\_0\_x proved to be adequate for
|
342 |
|
|
the scope and the goals of CSA06, and it serves as a solid base to
|
343 |
|
|
continue the development toward data-taking.
|
344 |
acosta |
1.11 |
|
345 |
|
|
|
346 |
|
|
|
347 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
348 |
|
|
|
349 |
|
|
\subsection{Calibration \& Alignment}
|
350 |
|
|
\label{sec:offlineswalca}
|
351 |
|
|
\label{calibtool}
|
352 |
|
|
|
353 |
|
|
In the context of CSA06 several exercises concerning the prompt
|
354 |
acosta |
1.13 |
alignment and calibration work-flow have been carried out and results
|
355 |
|
|
of these exercises are described in Sections~\ref{sec:calib} and
|
356 |
|
|
\ref{sec:align}. The full
|
357 |
acosta |
1.11 |
chain work-flow for ECAL and HCAL calibration as well as for tracker
|
358 |
|
|
alignment has been tested using several techniques that are foreseen
|
359 |
|
|
to be used during CMS operation.
|
360 |
|
|
The calibration and alignment part of the CSA06 challenge
|
361 |
|
|
consisted of the following steps:
|
362 |
|
|
\begin{enumerate}
|
363 |
|
|
\item Prompt reconstruction at the Tier-0, reading alignment
|
364 |
|
|
and calibration constants from the offline database;
|
365 |
|
|
\item Production of a special skimmed data format, the {\bf AlCaReco},
|
366 |
|
|
which contains only the information relevant for a specific alignment
|
367 |
|
|
or calibration task;
|
368 |
|
|
\item Running alignment/calibration algorithms at Tier-1/2
|
369 |
|
|
centres or the Tier-0 using misaligned/miscalibrated AlCaReco
|
370 |
|
|
data;
|
371 |
|
|
\item Inserting the derived alignment/calibration objects into
|
372 |
|
|
the database and deploying them to the Tier-1/2 centres;
|
373 |
|
|
\item Re-reconstruction at Tier-1 centres reading these
|
374 |
|
|
updated constants;
|
375 |
|
|
\item Analysis jobs at Tier-2 centres comparing ideal, miscalibrated
|
376 |
|
|
(misaligned) and calibrated (aligned) distributions.
|
377 |
|
|
\end{enumerate}
|
378 |
|
|
|
379 |
|
|
The CMS software is set up such that misalignment and miscalibration
|
380 |
|
|
do not necessarily have to be applied already during simulation or
|
381 |
|
|
reconstruction, but can also be applied on the fly even at the level of a
|
382 |
|
|
user analysis job. Therefore, in order to keep maximum flexibility, it
|
383 |
|
|
was decided not to misalign and miscalibrate the data reconstructed at
|
384 |
|
|
the Tier-0 (and hence the AlCaReco), but rather to use ideal constants
|
385 |
|
|
for the prompt reconstruction and AlCaReco production, and to apply
|
386 |
|
|
misalignment/miscalibration on the fly when running the
|
387 |
|
|
alignment/calibration algorithms.
|
388 |
|
|
|
389 |
|
|
To achieve this, all calibration exercises made use of a common {\em
|
390 |
acosta |
1.13 |
miscalibration tool}, available under \\ {\tt
|
391 |
acosta |
1.11 |
CalibCalorimetry/CaloMiscalibTools} which allows to miscalibrate
|
392 |
|
|
RecHits also at the reading stage based on predefined
|
393 |
|
|
scenarios. Similarly, the alignment exercises used a dedicated
|
394 |
|
|
tracker/muon {\em misalignment tool} (in {\tt
|
395 |
|
|
Alignment/TrackerAlignment} and {\tt Alignment/MuonAlignment}) which
|
396 |
|
|
is able to move/rotate all parts of the tracker and the muon detector.
|
397 |
|
|
|
398 |
|
|
In order to perform the exercise, several software ingredients were
|
399 |
|
|
put in place:
|
400 |
|
|
\begin{itemize}
|
401 |
|
|
\item Implementation of the actual calibration and alignment
|
402 |
|
|
algorithms;
|
403 |
|
|
\item Implementation of the various AlCaReco stream producers;
|
404 |
|
|
\item Preparation of a matrix defining which streams to create
|
405 |
|
|
from which dataset, as well as a combined central configuration file;
|
406 |
|
|
\item Insertion of the alignment and calibration objects into
|
407 |
|
|
the offline database;
|
408 |
|
|
\item Configuration fragments for reading database objects containing
|
409 |
|
|
alignment and calibration constants from the offline database,
|
410 |
|
|
and using them in the reconstruction.
|
411 |
|
|
\end{itemize}
|
412 |
|
|
The alignment and calibration algorithms were implemented
|
413 |
acosta |
1.13 |
for the CMSSW\_1\_0\_0 release.
|
414 |
acosta |
1.11 |
|
415 |
|
|
The following AlCaReco
|
416 |
|
|
streams were defined and implemented:
|
417 |
|
|
\begin{enumerate}
|
418 |
|
|
|
419 |
|
|
\item \verb=CSA06ZMuMu= \\
|
420 |
|
|
Tracker alignment using $Z^0\to \mu^+ \mu^- $ events. Only
|
421 |
|
|
the tracks to be used by the alignment algorithm, namely those
|
422 |
|
|
corresponding to the muons from the $Z^0$ decay
|
423 |
|
|
and satisfying $p_T>10 \rm\ GeV$ are stored in the event,
|
424 |
|
|
using the {\tt AlignmentTrackSelector}.
|
425 |
|
|
|
426 |
|
|
\item \verb=CSA06MinBias= \\
|
427 |
|
|
Pixel tracker alignment using minimum bias events.
|
428 |
|
|
Only tracks with $p_T>1.5 \rm\ GeV$ and at least 6 reconstructed hits
|
429 |
|
|
are considered, and a minimum of two such tracks was requested
|
430 |
|
|
for the event to be kept. Again, the {\tt AlignmentTrackSelector}
|
431 |
|
|
is used.
|
432 |
|
|
|
433 |
|
|
\item \verb=CSA06ZMuMu_muon= \\
|
434 |
|
|
Muon alignment using $Z^0\to \mu^+ \mu^- $ events.
|
435 |
|
|
|
436 |
|
|
\item \verb=AlcastreamElectron= \\
|
437 |
|
|
Cell-wise ECAL calibration using $E/p$ from isolated electrons.
|
438 |
|
|
%The single electron calibration exploits the comparison of the
|
439 |
|
|
%electron energy with its associated track momentum in order to derive
|
440 |
|
|
%the calibration coefficients for every calorimeter cell.
|
441 |
|
|
In the AlCaReco, only the information relevant to the calibration is
|
442 |
|
|
retained: the RecHits associated to the selected electron and the
|
443 |
|
|
track associated to it. The {\tt ElectronSelector} package has been
|
444 |
|
|
used to select tracks with transverse P$_t$ above a threshold of 20
|
445 |
|
|
GeV. An AlCaReco event from $W^+ \rightarrow e^+ \nu$ has a size of
|
446 |
|
|
about 3~kBytes.
|
447 |
|
|
|
448 |
|
|
\item \verb=AlcastreamEcalPhiSym= \\
|
449 |
|
|
Inter-calibration of ECAL rings using the phi symmetry method.
|
450 |
|
|
%This technique exploits the expected symmetry of energy deposits in
|
451 |
|
|
%calorimeter rings to intercalibrate the corresponding cells.
|
452 |
|
|
The only information which needs to be stored for each event is the
|
453 |
|
|
subset of ECAL RecHits with energy above a certain threshold, which is
|
454 |
|
|
introduced in order to prevent noise from contributing to the energy
|
455 |
|
|
sums. The value of the threshold is 150~MeV for barrel crystals and
|
456 |
|
|
750~MeV for end-cap crystals. Only a few tens of RecHits per event
|
457 |
|
|
have energy exceeding these thresholds. The AlCaReco data format for
|
458 |
|
|
the $\phi$ symmetry calibration exercise is defined to consist solely
|
459 |
|
|
of the filtered RecHit collections for the ECAL barrel and
|
460 |
|
|
end-caps. The average size of $\phi$-symmetry AlCaReco events is 120
|
461 |
|
|
bytes.
|
462 |
|
|
|
463 |
|
|
\item \verb=AlcastreamHcalDijets= \\
|
464 |
|
|
HCAL Calibration using dijet balancing.
|
465 |
|
|
|
466 |
|
|
\item \verb=AlcastreamHcalIsotrk= \\
|
467 |
|
|
HCAL calibration using $E/p$ from isolated pion tracks.
|
468 |
|
|
%The isolated track is an HCAL calibration technique in which
|
469 |
|
|
%calorimeter responses are measured to single charged pions of known
|
470 |
|
|
%momentum. Calibration is done by direct comparison of the HCAL
|
471 |
|
|
%response with the corresponding tracker information.
|
472 |
|
|
The procedure is
|
473 |
|
|
done independently for pions not interacting with ECAL and interacting
|
474 |
|
|
with ECAL and is supposed to provide calibration constants as a
|
475 |
|
|
function of energy on a tower by tower basis (HB and HE up to
|
476 |
|
|
$|\eta|<2.1$). The AlCaReco producer makes a selection of
|
477 |
|
|
reconstructed tracks by requiring spatial isolation from other tracks
|
478 |
|
|
in the event. An isolated track was defined by: (a)
|
479 |
|
|
%\begin{itemize}
|
480 |
|
|
%\item
|
481 |
|
|
no other charged particles within a cone of 0.5;
|
482 |
|
|
%\item
|
483 |
|
|
(b) a conservative cut on $p > 1$ GeV to reject tracks that will not
|
484 |
|
|
reach HCAL.
|
485 |
|
|
%\end{itemize}
|
486 |
|
|
In addition the original CaloTower collection is kept in the AlCaReco.
|
487 |
|
|
|
488 |
|
|
\item \verb=AlcastreamHcalMinbias= \\
|
489 |
|
|
HCAL inter-calibration using the phi symmetry method.
|
490 |
|
|
%In analogy with the ECAl case, this technique aimes to set the
|
491 |
acosta |
1.17 |
%azimuthal symmetry for readouts in the same $\eta$ ring.
|
492 |
acosta |
1.11 |
Mean value and variance of the energy distribution in the readout are
|
493 |
|
|
used. If the energy in the readout is collected without zero-suppression,
|
494 |
|
|
i.e. negative values after pedestal subtraction are kept, the variance
|
495 |
|
|
is used. If the energy in the readout is collected in zero-suppression mode
|
496 |
|
|
the mean value is used. The AlCaReco content is limited to the the
|
497 |
|
|
HB/HE, HF and HO collections of RecHits with no additional selection
|
498 |
|
|
applied.
|
499 |
|
|
|
500 |
|
|
\end{enumerate}
|
501 |
|
|
|
502 |
acosta |
1.13 |
\begin{table}[t]
|
503 |
|
|
\centering
|
504 |
|
|
\caption{Matrix of produced AlCaReco streams.}
|
505 |
|
|
\vspace{3mm}
|
506 |
|
|
\label{tab:alcareco}
|
507 |
|
|
\begin{tabular}{|l|c|c|c|c|l|}
|
508 |
|
|
\hline
|
509 |
acosta |
1.18 |
& \multicolumn{4}{c|}{ Input Dataset } & \\
|
510 |
|
|
Output Stream Name & $Z^0\to\mu^+\mu^-$ & min. bias & QCD Jets & $W^\pm\to e^\pm \nu$ & Purpose \\
|
511 |
acosta |
1.13 |
\hline
|
512 |
|
|
CSA06ZMuMu & X & & & & Tracker Alignment \\
|
513 |
acosta |
1.18 |
CSA06MinBias & & X & & & Tracker Alignment \\ \hline
|
514 |
|
|
CSA06ZMuMu\_muon & X & & & & Muon Alignment \\ \hline
|
515 |
acosta |
1.13 |
AlcastreamElectron & & & & X & ECAL Calibration \\
|
516 |
acosta |
1.18 |
AlcastreamEcalPhiSym & & X & & & ECAL Calibration \\ \hline
|
517 |
acosta |
1.13 |
AlcastreamHcalDijets & & & X & & HCAL Calibration \\
|
518 |
|
|
AlcastreamHcalIsotrk & & X & X & & HCAL Calibration \\
|
519 |
|
|
AlcastreamHcalMinbias & & X & & & HCAL Calibration \\
|
520 |
|
|
\hline
|
521 |
|
|
\end{tabular}
|
522 |
|
|
\end{table}
|
523 |
|
|
|
524 |
|
|
|
525 |
|
|
The matrix that defines the streams to be produced for a given
|
526 |
acosta |
1.11 |
data set is shown in Table~\ref{tab:alcareco}. In general, more than
|
527 |
|
|
one stream can be created per dataset, and more than one dataset can
|
528 |
|
|
be associated to a particular stream. Therefore, the capability of the
|
529 |
|
|
framework to write more than one output stream in parallel was crucial
|
530 |
|
|
for this part of the challenge.
|
531 |
|
|
|
532 |
|
|
A combined configuration file
|
533 |
|
|
(\verb=Configuration/Examples/data/AlCaReco.cfg=) was prepared, which
|
534 |
|
|
reads a RECO file and writes one or more AlCaReco streams according to
|
535 |
|
|
the matrix shown in Table~\ref{tab:alcareco}. Technically, the
|
536 |
|
|
reconstruction itself and the AlCaReco streaming were performed as two
|
537 |
|
|
consecutive steps.
|
538 |
|
|
|
539 |
|
|
Furthermore, configuration fragments were added to the central
|
540 |
|
|
reconstruction configuration in order to enable the reading of ECAL
|
541 |
|
|
calibration constants as well as tracker and muon alignment constants
|
542 |
|
|
from the offline database, either directly from ORACLE, or using the
|
543 |
|
|
FRONTIER caching.
|
544 |
|
|
|
545 |
|
|
For more details on the alignment and calibration related offline
|
546 |
|
|
software, see~\cite{alcacsa06note}.
|
547 |
|
|
|
548 |
|
|
|
549 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
550 |
|
|
|
551 |
|
|
\subsection{Event Content Definitions}
|
552 |
acosta |
1.12 |
Raw data for this exercise is defined to be the ``digi'' representation
|
553 |
|
|
of the detector information. The RECO data consists of a set of
|
554 |
|
|
products produced during prompt reconstruction from the raw data that
|
555 |
|
|
allow an event to be re-reconstructed,
|
556 |
acosta |
1.11 |
whereas AOD is a selected subset of essential information for
|
557 |
|
|
analysis. The Full event format (FEVT) includes the raw digi data and
|
558 |
acosta |
1.12 |
the RECO data, with only a few intermediate tracking objects
|
559 |
acosta |
1.11 |
dropped. As this was a challenge based on samples produced from Monte
|
560 |
acosta |
1.17 |
Carlo generators, the Monte Carlo generator and detector simulation
|
561 |
acosta |
1.12 |
data was also kept with the distributed samples, leading to ``RECOSim''
|
562 |
|
|
and ``AODSim'' formats.
|
563 |
|
|
|
564 |
|
|
\subsubsection{RECO content}
|
565 |
|
|
|
566 |
|
|
Data samples in the RECO format contain mainly the following information:
|
567 |
|
|
|
568 |
|
|
\begin{itemize}
|
569 |
|
|
\item Track collections, including associated rec-hits, allowing track refits
|
570 |
|
|
\item Tracker rec-hits
|
571 |
|
|
\item Primary vertices
|
572 |
|
|
\item Muon collections, both reconstructed locally in the muon detector, and combined with tracks reconstructed in the tracker detector
|
573 |
|
|
\item Muon detectors rec-hits (including DT, CSC, RPC)
|
574 |
|
|
\item Electrons and photon collections
|
575 |
|
|
\item Clusters and Super-clusters reconstructed in the electromagnetic calorimeter
|
576 |
acosta |
1.18 |
\item ECAL rec-hits
|
577 |
acosta |
1.12 |
\item Jet collections reconstructed with different algorithms and missing Et
|
578 |
|
|
\item Calorimetric towers
|
579 |
acosta |
1.18 |
\item HCAL rec-hits
|
580 |
acosta |
1.12 |
\end{itemize}
|
581 |
|
|
|
582 |
|
|
Together with the reconstruction output, the RECOSim format stores
|
583 |
|
|
Geant-4 tracks and vertices plus the full generator output. Jet
|
584 |
|
|
collections reconstructed at the Generator level are also stored.
|
585 |
|
|
|
586 |
|
|
\subsubsection{AOD content}
|
587 |
|
|
|
588 |
|
|
The AOD is a proper subset of the RECO. This allows event skimming
|
589 |
|
|
producing AOD out of data samples in the RECO or FEVT format without
|
590 |
|
|
need to run any software module for data conversion. The Content of
|
591 |
acosta |
1.13 |
the AOD is defined essentially by dropping rec-hits collections from the RECO
|
592 |
acosta |
1.12 |
format:
|
593 |
|
|
|
594 |
|
|
\begin{itemize}
|
595 |
|
|
\item Track collections without associated rec-hits (no track refits
|
596 |
|
|
is possible with AOD)
|
597 |
|
|
\item Primary vertices
|
598 |
|
|
\item Muon collections, both reconstructed locally in the muon
|
599 |
|
|
detector, and combined with tracks reconstructed in the tracker
|
600 |
|
|
detector. Track fits have no associated rec-hits
|
601 |
|
|
\item Muon detectors rec-hits (including DT, CSC, RPC)
|
602 |
|
|
\item Electrons and photon collections
|
603 |
|
|
\item Clusters and Super-clusters reconstructed in the
|
604 |
|
|
electromagnetic calorimeter
|
605 |
acosta |
1.18 |
\item Jet collections reconstructed with different algorithms and missing $E_T$
|
606 |
acosta |
1.12 |
\item Calorimetric towers
|
607 |
|
|
\end{itemize}
|
608 |
|
|
|
609 |
|
|
Together with the physics objects and reconstruction information, the
|
610 |
|
|
AODSim format stores the full generator output. Jet collections
|
611 |
|
|
reconstructed at the Generator level are also stored.
|
612 |
|
|
|
613 |
acosta |
1.15 |
The output sizes for these formats for a few CSA samples are given in
|
614 |
|
|
Table~\ref{tab:evtsize}.
|
615 |
|
|
|
616 |
|
|
\begin{table}[htb]
|
617 |
|
|
\centering
|
618 |
|
|
\caption{Event size for various data formats and samples.}
|
619 |
|
|
\vspace{3mm}
|
620 |
|
|
\label{tab:evtsize}
|
621 |
|
|
\begin{tabular}{|l|l|}
|
622 |
|
|
\hline
|
623 |
|
|
Format & Event size \\ \hline
|
624 |
|
|
\multicolumn{2}{|l|}{ {\bf Minimum bias events} } \\ \hline
|
625 |
|
|
FEVT & 843 kB/evt \\ \hline
|
626 |
|
|
RECOSim & 202 kB/evt \\ \hline
|
627 |
|
|
AODSim & 83 kB/evt \\ \hline
|
628 |
|
|
\multicolumn{2}{|l|}{ {\bf T-Tbar events} } \\ \hline
|
629 |
|
|
FEVT & 3408 kB/evt \\ \hline
|
630 |
|
|
RECOSim & 781 kB/evt \\ \hline
|
631 |
acosta |
1.16 |
AODSim & 309 kB/evt \\ \hline
|
632 |
acosta |
1.15 |
\multicolumn{2}{|l|}{ {\bf EWK Soup events} } \\ \hline
|
633 |
|
|
FEVT & 1730 kB/evt \\ \hline
|
634 |
|
|
RECOSim & 417 kB/evt \\ \hline
|
635 |
|
|
AODSim & 197 kB/evt \\ \hline
|
636 |
|
|
\end{tabular}
|
637 |
|
|
\end{table}
|
638 |
acosta |
1.12 |
|
639 |
|
|
|
640 |
|
|
|
641 |
acosta |
1.11 |
|
642 |
acosta |
1.14 |
|