1 |
\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 |
For the CSA06 exercise, 50 million events were requested to be
|
23 |
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 |
$\hat{p_t}$ bins reweighted to give the event numbers desired by the
|
57 |
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 |
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 |
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 |
by the exception catcher tool is approximately 0.5$\%$ for minimum bias,
|
138 |
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 |
Time performance performed on Min-Bias, H(300~GeV)$\rightarrow ee \mu \mu$,
|
142 |
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 |
except the electromagnetic calorimeter (ECAL), has been re-written using the
|
149 |
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 |
The ECAL material budget in the new and old implementations was verified to be
|
159 |
identical, as expected. A new post-CSA06 DDD/xml based geometry is now
|
160 |
completed for the ECAL barrel and pre-shower detectors and is being validated.
|
161 |
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 |
The forward detectors (Zero Degree Calorimeter (ZDC), Totem, Castor) were
|
169 |
also available for CSA06 as standalone CMSSW applications, outside the CMS
|
170 |
detector simulation chain.
|
171 |
|
172 |
|
173 |
\subsection{Filtering and Streaming}
|
174 |
\label{sec:filtering}
|
175 |
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 |
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 |
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 |
the most commonly used selection criteria. Events are selected by a
|
188 |
filter module if they contain at least a specified number of reconstructed
|
189 |
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 |
\subsection{Higher Level Trigger}
|
201 |
|
202 |
A total of 12 HLT triggers from the Physics TDR Vol.2 \cite{ptdr2}
|
203 |
trigger menu
|
204 |
were implemented in CMSSW for the CSA06. The CSA06 HLT triggers are
|
205 |
based on Monte Carlo information using generator-level
|
206 |
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 |
\centering
|
213 |
\caption{List of implemented HLT triggers, based on generator-level
|
214 |
particles. \label{tab:hlt-defs}}
|
215 |
\vspace{3mm}
|
216 |
\begin{tabular}{|l|l|l|}
|
217 |
\hline
|
218 |
Name & Mnemonic & Threshold (GeV) \\ \hline
|
219 |
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 |
keyword {\em schedule} was introduced, during the CSA exercise, into
|
245 |
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 |
does not specify one explicitly.
|
249 |
|
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 |
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 |
|
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 |
\item Missing $E_T$ reconstruction
|
288 |
\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 |
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 |
|
304 |
\begin{table}[h]
|
305 |
\vspace{3mm}
|
306 |
\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 |
{\centering
|
310 |
\begin{tabular}[t]{|l|c|c|}
|
311 |
\hline
|
312 |
& Minbias Events & TTbar Events \\\hline
|
313 |
Time (sec/ev) & 3.5 & 25\\
|
314 |
Memory Footprint (MB) & 400 & 700 \\\hline
|
315 |
\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 |
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 |
|
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 |
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 |
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 |
miscalibration tool}, available under \\ {\tt
|
391 |
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 |
for the CMSSW\_1\_0\_0 release.
|
414 |
|
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 |
%azimuthal symmetry for readouts in the same $\eta$ ring.
|
492 |
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 |
\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 |
& \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 |
\hline
|
512 |
CSA06ZMuMu & X & & & & Tracker Alignment \\
|
513 |
CSA06MinBias & & X & & & Tracker Alignment \\ \hline
|
514 |
CSA06ZMuMu\_muon & X & & & & Muon Alignment \\ \hline
|
515 |
AlcastreamElectron & & & & X & ECAL Calibration \\
|
516 |
AlcastreamEcalPhiSym & & X & & & ECAL Calibration \\ \hline
|
517 |
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 |
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 |
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 |
whereas AOD is a selected subset of essential information for
|
557 |
analysis. The Full event format (FEVT) includes the raw digi data and
|
558 |
the RECO data, with only a few intermediate tracking objects
|
559 |
dropped. As this was a challenge based on samples produced from Monte
|
560 |
Carlo generators, the Monte Carlo generator and detector simulation
|
561 |
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 |
\item ECAL rec-hits
|
577 |
\item Jet collections reconstructed with different algorithms and missing Et
|
578 |
\item Calorimetric towers
|
579 |
\item HCAL rec-hits
|
580 |
\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 |
the AOD is defined essentially by dropping rec-hits collections from the RECO
|
592 |
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 |
\item Jet collections reconstructed with different algorithms and missing $E_T$
|
606 |
\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 |
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 |
AODSim & 309 kB/evt \\ \hline
|
632 |
\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 |
|
639 |
|
640 |
|
641 |
|
642 |
|