Difference between revisions of "Aod ntuple"
m (→Electron) |
m (→Electron) |
||
Line 15: | Line 15: | ||
| Comment | | Comment | ||
|- | |- | ||
− | | rowspan="24" valign="top" | ElectronCollection | + | |rowspan="24" valign="top"| ElectronCollection |
− | | | + | | |
| n_elec | | n_elec | ||
| Int | | Int | ||
| Number of electrons in the Ntuple | | Number of electrons in the Ntuple | ||
|- | |- | ||
− | | | + | | <code>(*elecItr)->hlv().x()</code> |
| px_elec | | px_elec | ||
| Double | | Double | ||
| Px | | Px | ||
|- | |- | ||
− | | | + | | <code>(*elecItr)->hlv().y()</code> |
| py_elec | | py_elec | ||
| Double | | Double | ||
Line 32: | Line 32: | ||
| | | | ||
|- | |- | ||
− | | | + | | <code>(*elecItr)->hlv().z()</code> |
| pz_elec | | pz_elec | ||
| Double | | Double | ||
| Pz | | Pz | ||
|- | |- | ||
− | | | + | | <code>(*elecItr)->hlv().perp()</code> |
| pt_elec | | pt_elec | ||
| Double | | Double |
Revision as of 11:49, 19 May 2005
This page contains basic prescriptions to get physics objects from the AOD and the AOD-based Root ntuple.
Some comments on quality selection cuts will be added as work progresses.
Electron
AOD Container Name | AOD Variable | Ntuple Variable | Variable Type | Comment |
ElectronCollection | n_elec | Int | Number of electrons in the Ntuple | |
(*elecItr)->hlv().x()
|
px_elec | Double | Px | |
(*elecItr)->hlv().y()
|
py_elec | Double | Py | |
(*elecItr)->hlv().z()
|
pz_elec | Double | Pz | |
(*elecItr)->hlv().perp()
|
pt_elec | Double | Pt | |
eta_elec | Double | Eta | ||
phi_elec | Double | Phi | ||
isem_elec | Int | isEM flag (see below)
| ||
hastrk_elec | Int (bool) | HasTrack flag: presence of charged track in the Inner Detector
| ||
z0vtx_elec | Double | Intersection (z) of track with the beam axis | ||
d0vtx_elec | Double | Transverse impact paramter d0 | ||
nblayerhits_elec | Int | Number of hits in the Pixel B-layer | ||
npixelhits_elec | Int | Number of hits in the Pixel detector | ||
nscthits_elec | Int | Number of hits in the SCT | ||
ntrthits_elec | Int | Number of hits in the TRT | ||
ntrththits_elec | Int | Number of high threshold hits in the TRT | ||
auth_elec | Int??? | Algorithm used to create the electron: softe or egamma
| ||
eoverp_elec | Double | E/P ratio | ||
etcone_elec | Double | Energy deposition in a cone dR=0.45 around the electron cluster | ||
etcone20_elec | Double | Energy deposition in a cone dR=0.20 around the electron cluster. Standard cone size for ATLFAST | ||
etcone30_elec | Double | Energy deposition in a cone dR=0.30 around the electron cluster. Currently empty | ||
etcone40_elec | Double | Energy deposition in a cone dR=0.40 around the electron cluster | ||
emwgt_elec | Double | Weight for electrons (see below) | ||
piwgt_elec | Double | Weight for pions (see below) |
There are 3 types of quality cuts you can perform on the electron candidates:
- Cuts based on the
isEM
flag - Cuts based on likelihood
- Cuts based on NeuralNet output
1.
The isEM
flag uses both calorimeter and tracking information in addition to TRT
information. The flag is a bit field which marks whether the candidate passed or not some safety checks.
The bit field marks the following checks:
Cluster based egamma
ClusterEtaRange = 0,
ClusterHadronicLeakage = 1,
ClusterMiddleSampling = 2,
ClusterFirstSampling = 3,
Track based egamma
TrackEtaRange = 8,
TrackHitsA0 = 9,
TrackMatchAndEoP = 10,
TrackTRT = 11
In 9.0.4 there is a problem with TRT simulation so one has to mask TRT bit to recover the lost efficiency.
To get the flag in your AOD analysis you should use:
(*elec)->isEM()
To mask the TRT bits you should use: (*elec)->isEM()&0x7FF==0
If you use isEM
then you will select electrons with an overall efficiency of about
80% in the barrel but much lower in the crack and endcap.
2.
The likelihood ratio is constructed using the following variables: energy in different calorimeter samplings, shower shapes in both eta and phi and E/P ration. No TRT information is used here.
You need to access two variables called emweight
and pionweight
then you can construct the likelihood ratio, defined by: emweight/(emweight+pionweight)
.
In AOD, you use the following code:
ElecEMWeight = elec*->parameter(ElectronParameters::emWeight);
ElecPiWeight = elec*->parameter(ElectronParameters::pionWeight);
Then form the variable:
X = ElecEMWeight/(ElecEMWeight+ElecPiWeight);
Requiring X > 0.6 will give you more than 90% efficiency for electrons.
3.
The NeuralNet variable uses as inputs the same variables used for likelihood. To use it in AOD you should proceed as follow:
ElecepiNN = elec*->parameter(ElectronParameters::epiNN);
Requiring ElecepiNN > 0.6 will give you about 90% eff for electrons.
However, you should be aware that the NN was trained in full eta range while the likelihood was computed in 3 bins in eta: barrel, crack and endcap. So I would suggest to use likelihood for now.