1 |
/*
|
2 |
* ElectronReader.h
|
3 |
*
|
4 |
* Created on: Jun 25, 2010
|
5 |
* Author: lkreczko
|
6 |
*/
|
7 |
|
8 |
#ifndef ELECTRONREADER_H_
|
9 |
#define ELECTRONREADER_H_
|
10 |
#include "VariableReader.h"
|
11 |
#include "../RecoObjects/Electron.h"
|
12 |
|
13 |
namespace BAT {
|
14 |
class ElectronReader {
|
15 |
public:
|
16 |
ElectronReader();
|
17 |
ElectronReader(TChainPointer input, ElectronAlgorithm::value algo = ElectronAlgorithm::Calo);
|
18 |
virtual ~ElectronReader();
|
19 |
const ElectronCollection& getElectrons();
|
20 |
void initialise();
|
21 |
private:
|
22 |
VariableReader<MultiDoublePointer> energyReader;
|
23 |
VariableReader<MultiDoublePointer> pxReader;
|
24 |
VariableReader<MultiDoublePointer> pyReader;
|
25 |
VariableReader<MultiDoublePointer> pzReader;
|
26 |
VariableReader<MultiIntPointer> chargeReader;
|
27 |
VariableReader<MultiDoublePointer> superClusterEtaReader;
|
28 |
VariableReader<MultiDoublePointer> d0_BS_Reader;
|
29 |
VariableReader<MultiDoublePointer> d0_PV_Reader;
|
30 |
VariableReader<MultiIntPointer> numberOfInnerLayerMissingHitsReader;
|
31 |
|
32 |
VariableReader<MultiDoublePointer> ecalIsolationReader;
|
33 |
VariableReader<MultiDoublePointer> hcalIsolationReader;
|
34 |
VariableReader<MultiDoublePointer> trackerIsolationReader;
|
35 |
|
36 |
VariableReader<MultiDoublePointer> PFGammaIsolationReader;
|
37 |
VariableReader<MultiDoublePointer> PFChargedHadronIsolationReader;
|
38 |
VariableReader<MultiDoublePointer> PFNeutralHadronIsolationReader;
|
39 |
|
40 |
VariableReader<MultiDoublePointer> sigmaIEtaIEtaReader;
|
41 |
VariableReader<MultiDoublePointer> dPhiInReader;
|
42 |
VariableReader<MultiDoublePointer> dEtaInReader;
|
43 |
VariableReader<MultiDoublePointer> hadOverEmReader;
|
44 |
|
45 |
VariableReader<MultiDoublePointer> sharedFractionInnerHits;
|
46 |
VariableReader<MultiIntPointer> trackIDReader;
|
47 |
VariableReader<MultiDoublePointer> track_phi;
|
48 |
VariableReader<MultiDoublePointer> track_eta;
|
49 |
VariableReader<MultiDoublePointer> track_pt;
|
50 |
VariableReader<MultiDoublePointer> track_theta;
|
51 |
VariableReader<MultiIntPointer> track_charge;
|
52 |
|
53 |
VariableReader<MultiDoublePointer> vertex_dist_xy;
|
54 |
VariableReader<MultiDoublePointer> vertex_dist_z;
|
55 |
VariableReader<MultiDoublePointer> dist;
|
56 |
VariableReader<MultiDoublePointer> dCotTheta;
|
57 |
ElectronAlgorithm::value algorithm;
|
58 |
ElectronCollection electrons;
|
59 |
void readElectrons();
|
60 |
|
61 |
};
|
62 |
|
63 |
}
|
64 |
|
65 |
#endif /* ELECTRONREADER_H_ */
|