Difference between revisions of "Aod ntuple"
| m (→Electron) | |||
| Line 62: | Line 62: | ||
| | <code>HasTrack</code> flag: presence of charged track in the Inner Detector | | <code>HasTrack</code> flag: presence of charged track in the Inner Detector | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->z0wrtPrimVtx()</code> | 
| | z0vtx_elec | | z0vtx_elec | ||
| | Double | | Double | ||
| | Intersection (z) of track with the beam axis | | Intersection (z) of track with the beam axis | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->d0wrtPrimVtx()</code> | 
| | d0vtx_elec | | d0vtx_elec | ||
| | Double | | Double | ||
| − | | Transverse impact  | + | | Transverse impact parameter d0 | 
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->numberOfBLayerHits()</code> | 
| | nblayerhits_elec | | nblayerhits_elec | ||
| | Int | | Int | ||
| | Number of hits in the Pixel B-layer | | Number of hits in the Pixel B-layer | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->numberOfPixelHits()</code> | 
| | npixelhits_elec | | npixelhits_elec | ||
| | Int | | Int | ||
| | Number of hits in the Pixel detector | | Number of hits in the Pixel detector | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->numberOfSCTHits()</code> | 
| |nscthits_elec | |nscthits_elec | ||
| | Int | | Int | ||
| | Number of hits in the SCT | | Number of hits in the SCT | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->numberOfTRTHits()</code> | 
| | ntrthits_elec | | ntrthits_elec | ||
| | Int | | Int | ||
| | Number of hits in the TRT | | Number of hits in the TRT | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->numberOfTRTHighThresholdHits()</code> | 
| | ntrththits_elec | | ntrththits_elec | ||
| | Int | | Int | ||
| | Number of high threshold hits in the TRT | | Number of high threshold hits in the TRT | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->author()</code> | 
| | auth_elec | | auth_elec | ||
| | Int??? | | Int??? | ||
| | Algorithm used to create the electron: <code>softe</code> or <code>egamma</code>   | | Algorithm used to create the electron: <code>softe</code> or <code>egamma</code>   | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->parameter(ElectronParameters::EoverP)</code> | 
| | eoverp_elec | | eoverp_elec | ||
| | Double | | Double | ||
| | E/P ratio | | E/P ratio | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->parameter(ElectronParameters::etcone)</code> | 
| | etcone_elec | | etcone_elec | ||
| | Double | | Double | ||
| | Energy deposition in a cone dR=0.45 around the electron cluster | | Energy deposition in a cone dR=0.45 around the electron cluster | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->parameter(ElectronParameters::etcone20)</code> | 
| | etcone20_elec | | etcone20_elec | ||
| | Double | | Double | ||
| | Energy deposition in a cone dR=0.20 around the electron cluster. Standard cone size for ATLFAST | | Energy deposition in a cone dR=0.20 around the electron cluster. Standard cone size for ATLFAST | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->parameter(ElectronParameters::etcone30)</code> | 
| | etcone30_elec | | etcone30_elec | ||
| | Double | | Double | ||
| | Energy deposition in a cone dR=0.30 around the electron cluster. Currently empty | | Energy deposition in a cone dR=0.30 around the electron cluster. Currently empty | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->parameter(ElectronParameters::etcone40)</code> | 
| | etcone40_elec | | etcone40_elec | ||
| | Double | | Double | ||
| | Energy deposition in a cone dR=0.40 around the electron cluster | | Energy deposition in a cone dR=0.40 around the electron cluster | ||
| |- | |- | ||
| − | | <code></code> | + | | <code>(*elecItr)->parameter(ElectronParameters::emWeight)</code> | 
| | emwgt_elec | | emwgt_elec | ||
| | Double | | Double | ||
| | Weight for electrons (see below) | | Weight for electrons (see below) | ||
| |- | |- | ||
| − | | <code></code> | + | | <code> (*elecItr)->parameter(ElectronParameters::pionWeight)</code> | 
| | piwgt_elec | | piwgt_elec | ||
| | Double | | Double | ||
| | Weight for pions (see below) | | Weight for pions (see below) | ||
| − | |||
| |} | |} | ||
Revision as of 11:55, 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 | |
| (*elecItr)->hlv().eta() | eta_elec | Double | Eta | |
| (*elecItr)->hlv().phi() | phi_elec | Double | Phi | |
| (*elecItr)->isEM() | isem_elec | Int | isEMflag (see below) | |
| (*elecItr)->hasTrack() | hastrk_elec | Int (bool) | HasTrackflag: presence of charged track in the Inner Detector | |
| (*elecItr)->z0wrtPrimVtx() | z0vtx_elec | Double | Intersection (z) of track with the beam axis | |
| (*elecItr)->d0wrtPrimVtx() | d0vtx_elec | Double | Transverse impact parameter d0 | |
| (*elecItr)->numberOfBLayerHits() | nblayerhits_elec | Int | Number of hits in the Pixel B-layer | |
| (*elecItr)->numberOfPixelHits() | npixelhits_elec | Int | Number of hits in the Pixel detector | |
| (*elecItr)->numberOfSCTHits() | nscthits_elec | Int | Number of hits in the SCT | |
| (*elecItr)->numberOfTRTHits() | ntrthits_elec | Int | Number of hits in the TRT | |
| (*elecItr)->numberOfTRTHighThresholdHits() | ntrththits_elec | Int | Number of high threshold hits in the TRT | |
| (*elecItr)->author() | auth_elec | Int??? | Algorithm used to create the electron: softeoregamma | |
| (*elecItr)->parameter(ElectronParameters::EoverP) | eoverp_elec | Double | E/P ratio | |
| (*elecItr)->parameter(ElectronParameters::etcone) | etcone_elec | Double | Energy deposition in a cone dR=0.45 around the electron cluster | |
| (*elecItr)->parameter(ElectronParameters::etcone20) | etcone20_elec | Double | Energy deposition in a cone dR=0.20 around the electron cluster. Standard cone size for ATLFAST | |
| (*elecItr)->parameter(ElectronParameters::etcone30) | etcone30_elec | Double | Energy deposition in a cone dR=0.30 around the electron cluster. Currently empty | |
| (*elecItr)->parameter(ElectronParameters::etcone40) | etcone40_elec | Double | Energy deposition in a cone dR=0.40 around the electron cluster | |
| (*elecItr)->parameter(ElectronParameters::emWeight) | emwgt_elec | Double | Weight for electrons (see below) | |
|  (*elecItr)->parameter(ElectronParameters::pionWeight) | 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 isEMflag
- 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.