forked from ECALELFS/ECALELF
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
117 lines (98 loc) · 4.29 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/**
* \mainpage
* \ref page1
*
* <A HREF="https://github.com/ECALELFS/ECALELF/blob/master/README.md"> Download instructions </A>
*
* \ref page2
*
* Working with ntuples: \ref page4
*
* Instructions for ECAL validator (rereco + ntuple production): \ref page5
*/
/**
* \page page1 Code instructions and explanations
* \verbatim
############################################################
## ECALELF (Ecal CALibration with ELectrons Framework)
## study and calibration with Zee and E/p
## Code instructions and explanations
############################################################
All the code needed to the ECAL studies and calibration with Zee is
available in this package.
This and other README file in the package are the only documentation
provided.
The code in this package takes the name of ECALELF
(Ecal CALibration with ELectrons Framework)
In each subfolder you will find a README in the doc/ directory
containing all the relevant informations about the module and it's
use.
Informations for the implementation or re-implementation can be
obtained looking the the various header files that will be completed
with exaustive documentation (in the future)
If you have doxygen, you can run the command
doxygen fulldoc
from the calibration/ directory and you can navigate instructions and code with
firefox doc/doxygen/fulldoc/html/index.html
============================== Introduction
The general calibration workflow is:
1a) start from RAW-RECO
1.1a) apply a ZSkim or WSkim selection to reduce the size of the dataset
2a) produce the ALCARAW:
in this format most of the collections are
dropped and only the electrons, the uncalibrated rec hits
and few other collections like the beamspot, the conversions, the
rhoFastJet are kept
3a) Apply whatever ECAL tags (ADCtoGeV, IC, LC, Alpha) needed for test
or calibration and produce a new file in ALCARECO format.
The new file has a reduced collection of calibrated rechit of the
reco electrons, new SC collections produced with the new calibrated
recHits, the old reco electrons with a new SC associated
CAVEAT: all the electron variables are still the old RECO one,
only the reference to the new SC has been updated. This will not be
fixed, since it's a wanted feature that ensures that the selected
events are not changed and permit to check effectively the impact
of the calibration on the same events.
4) calculate new electron energies with the EleNewEnergiesProducer
that creates ValueMaps that associate a float (the new energy) to
the electrons
5) define if the electron pass some selections running the
EleSelectionProducer that creates valueMaps of floats with the
following meaning:
for cut-based selections 1=pass, 0=fail
for MVA selections the float is the output of the MVA
6.0) for MC, produce an association map between reco electron and gen
electron (data-MC match)
6.1) produce a patElectron collection where the electronID floats and
the new energies are imported by the patElectron and accessible by
electron.electronID("selectionName")
electron.userFloat("energyName")
the gen electron identified by the data-MC matching step are
embended in the patElectron and accessible by:
electron.genLepton().eta()
electron.genLepton().energy()
7) Filter the events requiring that the electron has passed at least
one selection
8) dump the event content to a flat tree with one entry for Zee
candidate (the variables are array of two elements with one electron
per element)
9) Run the analysis tools (Z fitter, smearing, etc.)
In case the purpose is just to run on a particular dataset without any
recalibration step, the 1-3a) steps can be replaced by
1b) Start from RECO or AOD
2b) Produce directly the ALCARECO, dropping all the unuseful
collections and reducing the recHit maps to the one related to
the electrons
3b) nothing
## For further implementations
#Step 5) could be done after step 1) since electronID and isolations
#are not updated by the sandbox recalibration and then could be
#performed just once.
==============================
Instructions for ALCARAW and/or ALCARECO production are in
calibration/ALCARAW_RECO/doc/README
Instructions for ntuple production is in
calibration/ZNtupledDumper/doc/README
Good luck!
\endverbatim
*/