Difference between revisions of "Aod ntuple"
| m (→Electron) | |||
| Line 12: | Line 12: | ||
| | AOD Variable   | | AOD Variable   | ||
| | Ntuple Variable | | Ntuple Variable | ||
| + | | Variable Type | ||
| | Comment | | Comment | ||
| |- | |- | ||
| | ElectronCollection   | | ElectronCollection   | ||
| |- | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | n_elec | ||
| + | | Int | ||
| + | | Number of electrons in the Ntuple | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | px_elec | ||
| + | | Double | ||
| + | | Px of electron | ||
| + | |- | ||
| + | |  | ||
| + | | | ||
| + | | | ||
| + | | py_elec | ||
| + | | Double | ||
| + | | Py of electron | ||
| + | | | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        pz_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        pt_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        eta_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        phi_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           isem_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           hastrk_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        z0vtx_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        d0vtx_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           nblayerhits_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           npixelhits_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           nscthits_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           ntrthits_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           ntrththits_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Int_t           auth_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        eoverp_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        etcone_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        etcone20_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        etcone30_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        etcone40_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        emwgt_elec[1000];   //[nelec] | ||
| + | |- | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + |    Double_t        piwgt_elec[1000];   //[nelec] | ||
| |} | |} | ||
Revision as of 10:25, 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 | ||||
| px_elec | Double | Px of electron | ||||
| py_elec | Double | Py of electron | ||||
| Double_t pz_elec[1000]; //[nelec] | ||||||
| Double_t pt_elec[1000]; //[nelec] | ||||||
| Double_t eta_elec[1000]; //[nelec] | ||||||
| Double_t phi_elec[1000]; //[nelec] | ||||||
| Int_t isem_elec[1000]; //[nelec] | ||||||
| Int_t hastrk_elec[1000]; //[nelec] | ||||||
| Double_t z0vtx_elec[1000]; //[nelec] | ||||||
| Double_t d0vtx_elec[1000]; //[nelec] | ||||||
| Int_t nblayerhits_elec[1000]; //[nelec] | ||||||
| Int_t npixelhits_elec[1000]; //[nelec] | ||||||
| Int_t nscthits_elec[1000]; //[nelec] | ||||||
| Int_t ntrthits_elec[1000]; //[nelec] | ||||||
| Int_t ntrththits_elec[1000]; //[nelec] | ||||||
| Int_t auth_elec[1000]; //[nelec] | ||||||
| Double_t eoverp_elec[1000]; //[nelec] | ||||||
| Double_t etcone_elec[1000]; //[nelec] | ||||||
| Double_t etcone20_elec[1000]; //[nelec] | ||||||
| Double_t etcone30_elec[1000]; //[nelec] | ||||||
| Double_t etcone40_elec[1000]; //[nelec] | ||||||
| Double_t emwgt_elec[1000]; //[nelec] | ||||||
| Double_t piwgt_elec[1000]; //[nelec] | 
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.