CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
L25TauAnalyzer Class Reference

#include <HLTriggerOffline/L25TauAnalyzer/src/L25TauAnalyzer.cc>

Inheritance diagram for L25TauAnalyzer:
edm::EDAnalyzer

Public Member Functions

 L25TauAnalyzer (const edm::ParameterSet &)
 
 ~L25TauAnalyzer ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
void clearVectors ()
 
virtual void endJob ()
 
void initializeVectors ()
 
reco::PFTau match (const reco::Jet &, const reco::PFTauCollection &)
 
reco::CaloJet matchedToPFTau (const reco::PFTau &, const reco::L2TauInfoAssociation &)
 
void printInfo (const reco::PFTau &thePFTau, const reco::IsolatedTauTagInfo &theTauTagInfo)
 

Private Attributes

float _isolationCone
 
float _l25Dz
 
float _l25JetLeadTkMacthingCone
 
edm::InputTag _l25JetSource
 
float _l25LeadTkPtMin
 
float _l2l25MatchingCone
 
edm::InputTag _l2TauInfoAssoc
 
float _minTrackPt
 
int _nTrkIso
 
edm::InputTag _pfTauIsoSource
 
edm::InputTag _pfTauMuonDiscSource
 
edm::InputTag _pfTauSource
 
edm::InputTag _pVtxSource
 
float _signalCone
 
bool hasLeadTrk
 
bool l25Disc_JetDir
 
bool l25Disc_LeadTkDir
 
bool l25Disc_Trk5_IsoPtMin2_NTrk0
 
std::vector< float > * l25IsoTrkChi2
 
std::vector< float > * l25IsoTrkChi2NdF
 
std::vector< float > * l25IsoTrkDxy
 
std::vector< float > * l25IsoTrkDz
 
std::vector< float > * l25IsoTrkEta
 
std::vector< int > * l25IsoTrkNLostHits
 
std::vector< int > * l25IsoTrkNRecHits
 
std::vector< int > * l25IsoTrkNValidHits
 
std::vector< int > * l25IsoTrkNValidPixelHits
 
std::vector< float > * l25IsoTrkPhi
 
std::vector< float > * l25IsoTrkPt
 
float l25JetEt
 
float l25JetEta
 
float l25JetPhi
 
bool L25MatchedToL2
 
bool l25MatchedToPFTau
 
std::vector< float > * l25SignalTrkChi2
 
std::vector< float > * l25SignalTrkChi2NdF
 
std::vector< float > * l25SignalTrkDxy
 
std::vector< float > * l25SignalTrkDz
 
std::vector< float > * l25SignalTrkEta
 
std::vector< int > * l25SignalTrkNLostHits
 
std::vector< int > * l25SignalTrkNRecHits
 
std::vector< int > * l25SignalTrkNValidHits
 
std::vector< int > * l25SignalTrkNValidPixelHits
 
std::vector< float > * l25SignalTrkPhi
 
std::vector< float > * l25SignalTrkPt
 
TTree * l25tree
 
std::vector< float > * l25TrkChi2
 
std::vector< float > * l25TrkChi2NdF
 
std::vector< float > * l25TrkDxy
 
std::vector< float > * l25TrkDz
 
std::vector< float > * l25TrkEta
 
std::vector< float > * l25TrkNRecHits
 
std::vector< float > * l25TrkNValidPixelHits
 
std::vector< float > * l25TrkPhi
 
std::vector< float > * l25TrkPt
 
float l2JetEt
 
float l2JetEta
 
float l2JetPhi
 
bool L2MatchedToPFtau
 
float leadIsoTrkDeltaR
 
float leadIsoTrkPtRes
 
float leadSignalTrackPt
 
float leadTrkDeltaR
 
float leadTrkJetDeltaR
 
float leadTrkPtRes
 
int myNtrkIso
 
int numPixTrkInJet
 
int numQPixTrkInAnnulus
 
int numQPixTrkInJet
 
int numQPixTrkInSignalCone
 
float pfTauElecDisc
 
float pfTauEt
 
float pfTauEta
 
float pfTauGammaIso
 
bool pfTauHasLeadTrk
 
bool pfTauInBounds
 
float pfTauIsoDisc
 
float pftauIsoTrkDeltaR
 
float pfTauIsoTrkPt
 
float pftauL25DeltaR
 
float pfTauLTPt
 
float pfTauMuonDisc
 
int pfTauNProngs
 
int pfTauNTrkIso
 
float pfTauPhi
 
float pfTauPt
 
float pftauSignalTrkDeltaR
 
float pfTauTrkIso
 
bool signal_
 
math::XYZPoint theVertexPosition
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 55 of file L25TauAnalyzer.h.

Constructor & Destructor Documentation

L25TauAnalyzer::L25TauAnalyzer ( const edm::ParameterSet iConfig)
explicit

Definition at line 31 of file L25TauAnalyzer.cc.

References edm::ParameterSet::getParameter(), and TFileDirectory::make().

31  {
32  //now do what ever initialization is needed
33 
34  _l25JetSource = iConfig.getParameter<InputTag>("L25JetSource");
35  _l2TauInfoAssoc = iConfig.getParameter<InputTag>("L2TauSource");
36  _pfTauSource = iConfig.getParameter<InputTag>("PFTauSource");
37  _pfTauIsoSource = iConfig.getParameter<InputTag>("PFTauIsoSource");
38  _pfTauMuonDiscSource = iConfig.getParameter<InputTag>("PFTauMuonDiscSource");
39  _pVtxSource = iConfig.getParameter<InputTag>("PrimaryVtxSource");
40  _l2l25MatchingCone = iConfig.getParameter<double>("L2L25MatchingCone");
41 
42  _l25JetLeadTkMacthingCone = iConfig.getParameter<double>("L25JetLeadTkMatchingCone");
43  _minTrackPt = iConfig.getParameter<double>("MinTrackPt");
44  _signalCone = iConfig.getParameter<double>("SignalCone");
45  _isolationCone = iConfig.getParameter<double>("IsolationCone");
46  _l25Dz = iConfig.getParameter<double>("L25DzCut");
47  _nTrkIso = iConfig.getParameter<int>("NTrkIso");
48  _l25LeadTkPtMin = iConfig.getParameter<double>("L25LeadTkMinPt");
49 
50 
51  l25JetEt=0.;
52  l25JetEta=10.;
53  l25JetPhi=10.;
54  hasLeadTrk=0;
55  leadSignalTrackPt = 0.;
56  leadTrkJetDeltaR = 0.;
57  numPixTrkInJet = 0;
58  numQPixTrkInJet = 0;
61 
62  pfTauPt = 0.;
63  pfTauEt = 0.;
64  pfTauEta = 10.;
65  pfTauPhi = 10.;
66  pfTauLTPt = 0.;
67  pfTauTrkIso = 100.;
68  pfTauGammaIso = 100.;
69 
70  l2JetEt = 0;
71  l2JetEta = 10;
72  l2JetPhi = 10;
73 
75  L2MatchedToPFtau = 0;
76  L25MatchedToL2 = 0;
77 
80  l25tree = fs->make<TTree>("l25tree","Level 2.5 Tau Tree");
81 
82  l25tree->Branch("pfTauHasLeadTrk", &pfTauHasLeadTrk, "pfTauHasLeadTrk/B");
83  l25tree->Branch("pfTauInBounds", &pfTauInBounds, "pfTauInBounds/B");
84  l25tree->Branch("pfTauPt", &pfTauPt, "pfTauPt/F");
85  l25tree->Branch("pfTauEt", &pfTauEt, "pfTauEt/F");
86  l25tree->Branch("pfTauEta", &pfTauEta, "pfTauEta/F");
87  l25tree->Branch("pfTauphi", &pfTauPhi, "pfTauPhi/F");
88  l25tree->Branch("pfTauLTPt", &pfTauLTPt, "pfTauLTPt/F");
89  l25tree->Branch("pfTauIsoDisc", &pfTauIsoDisc, "pfTauIsoDisc/F");
90  l25tree->Branch("pfTauMuonDisc", &pfTauMuonDisc, "pfTauMuonDisc/F");
91  l25tree->Branch("pfTauNProngs", &pfTauNProngs, "pfTauNProngs/I");
92  l25tree->Branch("pfTauTrkIso", &pfTauTrkIso, "pfTauTrkIso/F");
93  l25tree->Branch("pfTauNTrkIso", &pfTauNTrkIso, "pfTauNTrkIso/I");
94  l25tree->Branch("pfTauIsoTrkPt", &pfTauIsoTrkPt, "pfTauIsoTrkPt/F");
95  l25tree->Branch("pfTauGammaIso", &pfTauGammaIso, "pfTauGammaIso/F");
96 
97  l25tree->Branch("pftauL25DeltaR", &pftauL25DeltaR, "pftauL25DeltaR/F");
98  l25tree->Branch("pftauSignalTrkDeltaR", &pftauSignalTrkDeltaR, "pftauSignalTrkDeltaR/F");
99  l25tree->Branch("pftauIsoTrkDeltaR", &pftauIsoTrkDeltaR, "pftauIsoTrkDeltaR/F");
100  l25tree->Branch("leadTrkPtRes", &leadTrkPtRes, "leadTrkPtRes/F");
101  l25tree->Branch("leadTrkDeltaR", &leadTrkDeltaR, "leadTrkDeltaR/F");
102  l25tree->Branch("leadIsoTrkPtRes", &leadIsoTrkPtRes, "leadIsoTrkPtRes/F");
103  l25tree->Branch("leadIsoTrkDeltaR", &leadIsoTrkDeltaR, "leadIsoTrkDeltaR/F");
104  l25tree->Branch("l25Disc_LeadTkDir", &l25Disc_LeadTkDir, "l25Disc_LeadTkDir/B");
105  l25tree->Branch("l25Disc_JetDir", &l25Disc_JetDir, "l25Disc_JetDir/B");
106 
107  l25tree->Branch("l2JetEt", &l2JetEt, "l2JetEt/F");
108  l25tree->Branch("l2JetEta", &l2JetEta, "l2JetEta/F");
109  l25tree->Branch("l2JetPhi", &l2JetPhi, "l2JetPhi/F");
110 
111  l25tree->Branch("l25MatchedToPFTau", &l25MatchedToPFTau, "l25MatchedToPFTau/B");
112  l25tree->Branch("L2MatchedToPFtau", &L2MatchedToPFtau, "L2MatchedToPFtau/B");
113  l25tree->Branch("L25MatchedToL2", &L25MatchedToL2, "L25MatchedToL2/B");
114 
115  l25tree->Branch("l25JetEt", &l25JetEt, "l25JetEt/F");
116  l25tree->Branch("l25JetEta", &l25JetEta, "l25JetEta/F");
117  l25tree->Branch("l25JetPhi", &l25JetPhi, "l25JetPhi/F");
118  l25tree->Branch("hasLeadTrack", &hasLeadTrk, "hasLeadTrack/B");
119  l25tree->Branch("leadTrackPt", &leadSignalTrackPt, "leadTrackPt/F");
120  l25tree->Branch("nTracks", &numPixTrkInJet, "nTracks/I");
121  l25tree->Branch("nQTracks", &numQPixTrkInJet, "nQTracks/I");
122  l25tree->Branch("nQTracksInSignal", &numQPixTrkInSignalCone, "nQTracksInSignal/I");
123  l25tree->Branch("nQTracksInAnnulus", &numQPixTrkInAnnulus, "nQTracksInAnnulus/I");
124 
125  l25tree->Branch("l25TrkPt", &l25TrkPt);
126  l25tree->Branch("l25TrkEta", &l25TrkEta);
127  l25tree->Branch("l25TrkPhi", &l25TrkPhi);
128  l25tree->Branch("l25TrkDz", &l25TrkDz);
129  l25tree->Branch("l25TrkDxy", &l25TrkDxy);
130  l25tree->Branch("l25TrkChi2", &l25TrkChi2);
131  l25tree->Branch("l25TrkChi2NdF", &l25TrkChi2NdF);
132  l25tree->Branch("l25TrkNRecHits", &l25TrkNRecHits);
133  l25tree->Branch("l25TrkNValidPixelHits", &l25TrkNValidPixelHits);
134 
135  l25tree->Branch("l25SignalTrkPt", &l25SignalTrkPt);
136  l25tree->Branch("l25SignalTrkEta", &l25SignalTrkEta);
137  l25tree->Branch("l25SignalTrkPhi", &l25SignalTrkPhi);
138  l25tree->Branch("l25SignalTrkDz", &l25SignalTrkDz);
139  l25tree->Branch("l25SignalTrkDxy", &l25SignalTrkDxy);
140  l25tree->Branch("l25SignalTrkChi2", &l25SignalTrkChi2);
141  l25tree->Branch("l25SignalTrkChi2NdF", &l25SignalTrkChi2NdF);
142  l25tree->Branch("l25SignalTrkNRecHits", &l25SignalTrkNRecHits);
143  l25tree->Branch("l25SignalTrkNValidHits", &l25SignalTrkNValidHits);
144  l25tree->Branch("l25SignalTrkNValidPixelHits", &l25SignalTrkNValidPixelHits);
145  l25tree->Branch("l25SignalTrkNLostHits", &l25SignalTrkNLostHits);
146 
147  l25tree->Branch("l25IsoTrkPt", &l25IsoTrkPt);
148  l25tree->Branch("l25IsoTrkEta", &l25IsoTrkEta);
149  l25tree->Branch("l25IsoTrkPhi", &l25IsoTrkPhi);
150  l25tree->Branch("l25IsoTrkDz", &l25IsoTrkDz);
151  l25tree->Branch("l25IsoTrkDxy", &l25IsoTrkDxy);
152  l25tree->Branch("l25IsoTrkChi2", &l25IsoTrkChi2);
153  l25tree->Branch("l25IsoTrkChi2NdF", &l25IsoTrkChi2NdF);
154  l25tree->Branch("l25IsoTrkNRecHits", &l25IsoTrkNRecHits);
155  l25tree->Branch("l25IsoTrkNValidHits", &l25IsoTrkNValidHits);
156  l25tree->Branch("l25IsoTrkNValidPixelHits", &l25IsoTrkNValidPixelHits);
157  l25tree->Branch("l25IsoTrkNLostHits", &l25IsoTrkNLostHits);
158 
159  l25tree->Branch("myNtrkIso", &myNtrkIso, "myNtrkIso/I");
160 }
std::vector< int > * l25SignalTrkNLostHits
T getParameter(std::string const &) const
float _l2l25MatchingCone
edm::InputTag _l2TauInfoAssoc
std::vector< float > * l25SignalTrkPt
std::vector< float > * l25TrkChi2
std::vector< float > * l25SignalTrkPhi
std::vector< int > * l25SignalTrkNRecHits
std::vector< float > * l25TrkDxy
edm::InputTag _l25JetSource
std::vector< int > * l25SignalTrkNValidPixelHits
std::vector< float > * l25SignalTrkDxy
std::vector< int > * l25IsoTrkNValidHits
std::vector< float > * l25IsoTrkChi2
std::vector< int > * l25IsoTrkNLostHits
edm::InputTag _pfTauSource
edm::InputTag _pfTauIsoSource
int numQPixTrkInSignalCone
void initializeVectors()
std::vector< float > * l25SignalTrkChi2NdF
std::vector< float > * l25TrkPhi
std::vector< int > * l25IsoTrkNValidPixelHits
edm::InputTag _pVtxSource
std::vector< float > * l25TrkNValidPixelHits
std::vector< float > * l25IsoTrkPt
std::vector< float > * l25SignalTrkDz
float pftauSignalTrkDeltaR
std::vector< float > * l25IsoTrkPhi
std::vector< int > * l25SignalTrkNValidHits
std::vector< float > * l25SignalTrkEta
edm::InputTag _pfTauMuonDiscSource
std::vector< float > * l25TrkEta
std::vector< float > * l25SignalTrkChi2
std::vector< float > * l25IsoTrkDxy
T * make() const
make new ROOT object
std::vector< int > * l25IsoTrkNRecHits
float _l25JetLeadTkMacthingCone
std::vector< float > * l25TrkDz
std::vector< float > * l25IsoTrkChi2NdF
std::vector< float > * l25IsoTrkEta
std::vector< float > * l25TrkNRecHits
std::vector< float > * l25IsoTrkDz
std::vector< float > * l25TrkPt
std::vector< float > * l25TrkChi2NdF
L25TauAnalyzer::~L25TauAnalyzer ( )

Definition at line 163 of file L25TauAnalyzer.cc.

163  {
164 
165  // do anything here that needs to be done at desctruction time
166  // (e.g. close files, deallocate resources etc.)
167 
168 }

Member Function Documentation

void L25TauAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 176 of file L25TauAnalyzer.cc.

References reco::IsolatedTauTagInfo::allTracks(), edm::RefVector< C, T, F >::at(), edm::RefVector< C, T, F >::begin(), gather_cfg::cout, delta, reco::IsolatedTauTagInfo::discriminator(), edm::RefVector< C, T, F >::end(), reco::LeafCandidate::et(), reco::LeafCandidate::eta(), edm::Event::getByLabel(), i, edm::Ref< C, T, F >::isNonnull(), reco::JTATagInfo::jet(), reco::IsolatedTauTagInfo::leadingSignalTrack(), reco::LeafCandidate::momentum(), reco::TrackBase::momentum(), reco::LeafCandidate::p4(), reco::LeafCandidate::phi(), reco::TrackBase::pt(), reco::IsolatedTauTagInfo::selectedTracks(), edm::RefVector< C, T, F >::size(), and reco::IsolatedTauTagInfo::tracksInCone().

176  {
177  using namespace edm;
178 
179  //get l2 jet; match to pftau
180  Handle<PFTauCollection> thePFTaus;
181  iEvent.getByLabel(_pfTauSource,thePFTaus);
182 
183  Handle<PFTauDiscriminator> thePFTauDiscriminatorByIsolation;
184  iEvent.getByLabel(_pfTauIsoSource,thePFTauDiscriminatorByIsolation);
185 
186  Handle<PFTauDiscriminator> thePFTauDiscriminatorAgainstMuon;
187  iEvent.getByLabel(_pfTauMuonDiscSource, thePFTauDiscriminatorAgainstMuon);
188 
189  Handle<VertexCollection> thePrimaryVertices;
190  iEvent.getByLabel(_pVtxSource, thePrimaryVertices);
191  const reco::Vertex& theHltPrimaryVertex = (*thePrimaryVertices->begin());
192  theVertexPosition = math::XYZPoint(0.,0.,0.);
193  if(thePrimaryVertices->size() > 0) theVertexPosition = math::XYZPoint(theHltPrimaryVertex.position().x(),
194  theHltPrimaryVertex.position().y(),
195  theHltPrimaryVertex.position().z());
196 
197  //Loop over PFtaus
198  if(thePFTaus.isValid()){
199  edm::LogInfo("L25Analysis") << "Inside PFTau\n";
200  for(unsigned int pfTauIt = 0; pfTauIt < thePFTaus->size(); ++pfTauIt){
201  const PFTauRef thisTauRef(thePFTaus,pfTauIt);
202  pfTauIsoDisc = 0;
203  pfTauMuonDisc = 0;
204  if(thePFTauDiscriminatorByIsolation.isValid()){
205  const PFTauDiscriminator& disc = *(thePFTauDiscriminatorByIsolation.product());
206  pfTauIsoDisc = disc[thisTauRef];
207  }
208  if(thePFTauDiscriminatorAgainstMuon.isValid()){
209  const PFTauDiscriminator& disc = *(thePFTauDiscriminatorAgainstMuon.product());
210  pfTauMuonDisc = disc[thisTauRef];
211  }
212 
213  L2MatchedToPFtau = false;
214  pfTauHasLeadTrk = false;
215  pfTauInBounds = true;
216 
217  pfTauPt = thePFTaus->at(pfTauIt).pt();
218  pfTauEt = thePFTaus->at(pfTauIt).et();
219  pfTauEta = thePFTaus->at(pfTauIt).eta();
220  pfTauPhi = thePFTaus->at(pfTauIt).eta();
221 
222  const PFCandidateRef& thePFTauLeadTrack = thePFTaus->at(pfTauIt).leadPFChargedHadrCand();
223  if(thePFTauLeadTrack.isNonnull()){
224  pfTauHasLeadTrk = true;
225  pfTauNProngs = thePFTaus->at(pfTauIt).signalPFChargedHadrCands().size();
226  pfTauLTPt = thePFTaus->at(pfTauIt).leadPFChargedHadrCand()->pt();
227  pfTauTrkIso = thePFTaus->at(pfTauIt).isolationPFChargedHadrCandsPtSum();
228  pfTauGammaIso = thePFTaus->at(pfTauIt).isolationPFGammaCandsEtSum();
229  }
230 
231  const PFCandidateRefVector& theSignalCands = thePFTaus->at(pfTauIt).signalPFChargedHadrCands();
232  for(PFCandidateRefVector::const_iterator vIt = theSignalCands.begin(); vIt != theSignalCands.end(); ++vIt){
233  pftauSignalTrkDeltaR = ROOT::Math::VectorUtil::DeltaR((*vIt)->trackRef()->momentum(), thePFTauLeadTrack->momentum());
235  }
236 
237  const PFCandidateRefVector& theIsoCands = thePFTaus->at(pfTauIt).isolationPFChargedHadrCands();
238  pfTauNTrkIso = theIsoCands.size();
239  float PFTauLeadIsoPt = 0.;
240  Track thePFTauLeadIsoTrk;
241  for(PFCandidateRefVector::const_iterator vIt = theIsoCands.begin(); vIt != theIsoCands.end(); ++vIt){
242  pftauIsoTrkDeltaR = ROOT::Math::VectorUtil::DeltaR((*vIt)->trackRef()->momentum(), thePFTauLeadTrack->momentum());
244  pfTauIsoTrkPt = (*vIt)->trackRef()->pt();
245  if((*vIt)->trackRef()->pt() > PFTauLeadIsoPt){
246  thePFTauLeadIsoTrk = *((*vIt)->trackRef());
247  PFTauLeadIsoPt = (*vIt)->trackRef()->pt();
248  }
249  }
250 
251  // matched PFtau to l2 Jet with Et > 5 ... originially 15 but to strong for min bias
252  Handle<L2TauInfoAssociation> l2TauInfoAssoc; //Handle to the input (L2 Tau Info Association)
253  iEvent.getByLabel(_l2TauInfoAssoc,l2TauInfoAssoc);
254  reco::CaloJet theMatchedL2Jet;
255  IsolatedTauTagInfo theMatchedL25TauTagInfo;
256  if(iEvent.getByLabel(_l2TauInfoAssoc,l2TauInfoAssoc) && l2TauInfoAssoc->size()>0){
257  double matchDr = _l2l25MatchingCone;
258  for(L2TauInfoAssociation::const_iterator it = l2TauInfoAssoc->begin(); it != l2TauInfoAssoc->end(); ++it){
259  const reco::CaloJet& l2Jet =*(it->key);
260  if(l2Jet.et() < 15.) continue;
261  double delta = ROOT::Math::VectorUtil::DeltaR(thePFTaus->at(pfTauIt).p4(),l2Jet.p4());
262  if(delta < matchDr){
263  matchDr = delta;
264  L2MatchedToPFtau = true;
265  theMatchedL2Jet = l2Jet;
266  }
267  }
268  }
269 
270  //if(L2MatchedToPFtau) match to l25 and fill l25 variables
272  if(L2MatchedToPFtau){
273  l2JetEt = theMatchedL2Jet.et();
274  l2JetEta = theMatchedL2Jet.eta();
275  l2JetPhi = theMatchedL2Jet.phi();
276  if(iEvent.getByLabel(_l25JetSource, tauTagInfo) && tauTagInfo->size()>0){
277  L25MatchedToL2 = false;
278  double minDeltaR = _l2l25MatchingCone;
279  //declare l25 tauTagInfo ...
280  //IsolatedTauTagInfo theMatchedL25TauTagInfo;
281  for(IsolatedTauTagInfoCollection::const_iterator i = tauTagInfo->begin();i!=tauTagInfo->end();++i){
282  double delta = ROOT::Math::VectorUtil::DeltaR(theMatchedL2Jet.p4(), i->jet()->p4());
283  if(delta < minDeltaR){
284  minDeltaR = delta;
285  L25MatchedToL2 = true;
286  theMatchedL25TauTagInfo = *i;
287  }
288  }
289  }
290 
291  pftauL25DeltaR = ROOT::Math::VectorUtil::DeltaR(thePFTaus->at(pfTauIt).p4(), theMatchedL25TauTagInfo.jet()->p4());
293 
294  const TrackRefVector theTauTagTracks = theMatchedL25TauTagInfo.allTracks();
295 
296  l25JetEt = theMatchedL25TauTagInfo.jet()->et();
297  l25JetEta = theMatchedL25TauTagInfo.jet()->eta();
298  l25JetPhi = theMatchedL25TauTagInfo.jet()->phi();
299  numPixTrkInJet = theTauTagTracks.size();
300  numQPixTrkInJet = theMatchedL25TauTagInfo.selectedTracks().size();
301  //get info for all tracks in tauTagInfo
302  for(TrackRefVector::const_iterator trkIt = theTauTagTracks.begin(); trkIt != theTauTagTracks.end(); ++trkIt){
303  l25TrkPt->push_back((*trkIt)->pt());
304  l25TrkEta->push_back((*trkIt)->eta());
305  l25TrkPhi->push_back((*trkIt)->phi());
306  l25TrkDz->push_back((*trkIt)->dz(theVertexPosition));
307  l25TrkDxy->push_back((*trkIt)->dxy(theVertexPosition));
308  l25TrkChi2->push_back((*trkIt)->chi2());
309  l25TrkChi2NdF->push_back((*trkIt)->normalizedChi2());
310  l25TrkNRecHits->push_back((*trkIt)->recHitsSize());
311  l25TrkNValidPixelHits->push_back((*trkIt)->hitPattern().numberOfValidPixelHits());
312  }
313  const TrackRef leadTk = theMatchedL25TauTagInfo.leadingSignalTrack(_l25JetLeadTkMacthingCone, _minTrackPt);
314  if(!leadTk){
315  hasLeadTrk=false;
319  leadTrkJetDeltaR=10;
320  leadTrkDeltaR=10;
321  }
322  else{
323  hasLeadTrk=true;
324  leadTrkJetDeltaR = ROOT::Math::VectorUtil::DeltaR(theMatchedL25TauTagInfo.jet()->p4().Vect(), leadTk->momentum());
325  leadSignalTrackPt=leadTk->pt();
326  if(pfTauLTPt != 0)leadTrkPtRes = (leadTk->pt() - pfTauLTPt) / pfTauLTPt;
327  leadTrkDeltaR = ROOT::Math::VectorUtil::DeltaR(thePFTauLeadTrack->momentum(), leadTk->momentum());
328 
329  //print info in the case where the pftau is isolated but the tauTag is not
330  bool l25IsoDisc = theMatchedL25TauTagInfo.discriminator(0.2,0.15,0.5,5.,1.,0,0.2);
331  if(pfTauTrkIso <= 1. && l25MatchedToPFTau && !l25IsoDisc) printInfo(thePFTaus->at(pfTauIt), theMatchedL25TauTagInfo);
332 
333  const TrackRefVector theSignalTracks = theMatchedL25TauTagInfo.tracksInCone(leadTk->momentum(), _signalCone, _minTrackPt);
334  const TrackRefVector theIsoTracks = theMatchedL25TauTagInfo.tracksInCone(leadTk->momentum(), _isolationCone, _minTrackPt);
335  numQPixTrkInSignalCone = theSignalTracks.size();
336  if(numQPixTrkInSignalCone > 0) numQPixTrkInAnnulus = theIsoTracks.size() - theSignalTracks.size();
337  //get the lead track in isolation
338  float l25LeadIsoPt = 0.;
339  Track theL25LeadIsoTrk;
340 
341  myNtrkIso = 0;
342  for(TrackRefVector::const_iterator isoIt = theIsoTracks.begin(); isoIt != theIsoTracks.end(); ++isoIt){
343  if(ROOT::Math::VectorUtil::DeltaR(leadTk->momentum(), (*isoIt)->momentum()) <= _signalCone){
344 
345  l25SignalTrkPt->push_back((*isoIt)->pt());
346  l25SignalTrkEta->push_back((*isoIt)->eta());
347  l25SignalTrkPhi->push_back((*isoIt)->phi());
348  l25SignalTrkDz->push_back((*isoIt)->dz(theVertexPosition));
349  l25SignalTrkDxy->push_back((*isoIt)->dxy(theVertexPosition));
350  l25SignalTrkChi2->push_back((*isoIt)->chi2());
351  l25SignalTrkChi2NdF->push_back((*isoIt)->normalizedChi2());
352  l25SignalTrkNRecHits->push_back((*isoIt)->recHitsSize());
353  l25SignalTrkNValidHits->push_back((*isoIt)->numberOfValidHits());
354  l25SignalTrkNValidPixelHits->push_back((*isoIt)->hitPattern().numberOfValidPixelHits());
355  l25SignalTrkNLostHits->push_back((*isoIt)->lost());
356 
357  }
358  else{
359  myNtrkIso++;
360 
361  l25IsoTrkPt->push_back((*isoIt)->pt());
362  l25IsoTrkChi2NdF->push_back((*isoIt)->normalizedChi2());
363  l25IsoTrkChi2->push_back((*isoIt)->chi2());
364  l25IsoTrkNValidHits->push_back((*isoIt)->numberOfValidHits());
365  l25IsoTrkNRecHits->push_back((*isoIt)->recHitsSize());
366  l25IsoTrkNValidPixelHits->push_back((*isoIt)->hitPattern().numberOfValidPixelHits());
367  l25IsoTrkNLostHits->push_back((*isoIt)->lost());
368  l25IsoTrkDxy->push_back((*isoIt)->dxy(theVertexPosition));
369  l25IsoTrkDz->push_back((*isoIt)->dz(theVertexPosition));
370  l25IsoTrkEta->push_back((*isoIt)->eta());
371  l25IsoTrkPhi->push_back((*isoIt)->phi());
372  if((*isoIt)->pt() > l25LeadIsoPt){
373  theL25LeadIsoTrk = **isoIt;
374  l25LeadIsoPt = (*isoIt)->pt();
375  }
376  }
377  }
378  //if((nIsoTraks > numQPixTrkInAnnulus) ? std::cout << "FUCK \n" : std::cout << "GREAT\n" );
379  if(thePFTauLeadIsoTrk.pt() != 0) leadIsoTrkPtRes = (theL25LeadIsoTrk.pt() - thePFTauLeadIsoTrk.pt()) /thePFTauLeadIsoTrk.pt();
380  leadIsoTrkDeltaR = ROOT::Math::VectorUtil::DeltaR(theL25LeadIsoTrk.momentum(), thePFTauLeadIsoTrk.momentum());
383  }
384  }
385  //Fill here per pfTau ...
386  l25tree->Fill();
387  clearVectors();
388  }
389  }
390  else std::cout << "Invalid PFTau Collection\n";
391 }
dbl * delta
Definition: mlp_gen.cc:36
std::vector< int > * l25SignalTrkNLostHits
int i
Definition: DBlmapReader.cc:9
float _l2l25MatchingCone
Jets made from CaloTowers.
Definition: CaloJet.h:30
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:150
edm::InputTag _l2TauInfoAssoc
std::vector< float > * l25SignalTrkPt
std::vector< float > * l25TrkChi2
virtual double et() const
transverse energy
std::vector< float > * l25SignalTrkPhi
std::vector< int > * l25SignalTrkNRecHits
std::vector< float > * l25TrkDxy
edm::InputTag _l25JetSource
virtual Vector momentum() const
spatial momentum vector
std::vector< int > * l25SignalTrkNValidPixelHits
std::vector< float > * l25SignalTrkDxy
std::vector< int > * l25IsoTrkNValidHits
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
void printInfo(const reco::PFTau &thePFTau, const reco::IsolatedTauTagInfo &theTauTagInfo)
std::vector< float > * l25IsoTrkChi2
virtual double eta() const
momentum pseudorapidity
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
std::vector< int > * l25IsoTrkNLostHits
edm::InputTag _pfTauSource
edm::InputTag _pfTauIsoSource
const TrackRefVector selectedTracks() const
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
int numQPixTrkInSignalCone
std::vector< float > * l25SignalTrkChi2NdF
double pt() const
track transverse momentum
Definition: TrackBase.h:131
std::vector< float > * l25TrkPhi
std::vector< int > * l25IsoTrkNValidPixelHits
edm::InputTag _pVtxSource
std::vector< float > * l25TrkNValidPixelHits
std::vector< float > * l25IsoTrkPt
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
std::vector< float > * l25SignalTrkDz
virtual edm::RefToBase< Jet > jet(void) const
returns a polymorphic reference to the tagged jet
Definition: JTATagInfo.h:20
float pftauSignalTrkDeltaR
std::vector< float > * l25IsoTrkPhi
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
std::vector< int > * l25SignalTrkNValidHits
std::vector< float > * l25SignalTrkEta
edm::InputTag _pfTauMuonDiscSource
std::vector< float > * l25TrkEta
const TrackRef leadingSignalTrack() const
value_type const at(size_type idx) const
Retrieve an element of the RefVector.
Definition: RefVector.h:76
std::vector< float > * l25SignalTrkChi2
math::XYZPoint theVertexPosition
std::vector< float > * l25IsoTrkDxy
std::vector< int > * l25IsoTrkNRecHits
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
tuple cout
Definition: gather_cfg.py:121
float _l25JetLeadTkMacthingCone
std::vector< float > * l25TrkDz
std::vector< float > * l25IsoTrkChi2NdF
const TrackRefVector allTracks() const
std::vector< float > * l25IsoTrkEta
virtual double phi() const
momentum azimuthal angle
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::vector< float > * l25TrkNRecHits
std::vector< float > * l25IsoTrkDz
std::vector< float > * l25TrkPt
std::vector< float > * l25TrkChi2NdF
void L25TauAnalyzer::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 550 of file L25TauAnalyzer.cc.

550  {
551 }
void L25TauAnalyzer::clearVectors ( )
private

Definition at line 477 of file L25TauAnalyzer.cc.

477  {
478  l25TrkPt->clear();
479  l25TrkEta->clear();
480  l25TrkPhi->clear();
481  l25TrkDz->clear();
482  l25TrkDxy->clear();
483  l25TrkChi2->clear();
484  l25TrkChi2NdF->clear();
485  l25TrkNRecHits->clear();
486  l25TrkNValidPixelHits->clear();
487 
488  l25SignalTrkPt->clear();
489  l25SignalTrkEta->clear();
490  l25SignalTrkPhi->clear();
491  l25SignalTrkDz->clear();
492  l25SignalTrkDxy->clear();
493  l25SignalTrkChi2NdF->clear();
494  l25SignalTrkChi2->clear();
495  l25SignalTrkNRecHits->clear();
496  l25SignalTrkNValidHits->clear();
498  l25SignalTrkNLostHits->clear();
499 
500  l25IsoTrkPt->clear();
501  l25IsoTrkEta->clear();
502  l25IsoTrkPhi->clear();
503  l25IsoTrkDz->clear();
504  l25IsoTrkDxy->clear();
505  l25IsoTrkChi2->clear();
506  l25IsoTrkChi2NdF->clear();
507  l25IsoTrkNRecHits->clear();
508  l25IsoTrkNValidHits->clear();
509  l25IsoTrkNValidPixelHits->clear();
510  l25IsoTrkNLostHits->clear();
511 }
std::vector< int > * l25SignalTrkNLostHits
std::vector< float > * l25SignalTrkPt
std::vector< float > * l25TrkChi2
std::vector< float > * l25SignalTrkPhi
std::vector< int > * l25SignalTrkNRecHits
std::vector< float > * l25TrkDxy
std::vector< int > * l25SignalTrkNValidPixelHits
std::vector< float > * l25SignalTrkDxy
std::vector< int > * l25IsoTrkNValidHits
std::vector< float > * l25IsoTrkChi2
std::vector< int > * l25IsoTrkNLostHits
std::vector< float > * l25SignalTrkChi2NdF
std::vector< float > * l25TrkPhi
std::vector< int > * l25IsoTrkNValidPixelHits
std::vector< float > * l25TrkNValidPixelHits
std::vector< float > * l25IsoTrkPt
std::vector< float > * l25SignalTrkDz
std::vector< float > * l25IsoTrkPhi
std::vector< int > * l25SignalTrkNValidHits
std::vector< float > * l25SignalTrkEta
std::vector< float > * l25TrkEta
std::vector< float > * l25SignalTrkChi2
std::vector< float > * l25IsoTrkDxy
std::vector< int > * l25IsoTrkNRecHits
std::vector< float > * l25TrkDz
std::vector< float > * l25IsoTrkChi2NdF
std::vector< float > * l25IsoTrkEta
std::vector< float > * l25TrkNRecHits
std::vector< float > * l25IsoTrkDz
std::vector< float > * l25TrkPt
std::vector< float > * l25TrkChi2NdF
void L25TauAnalyzer::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 554 of file L25TauAnalyzer.cc.

554  {
555 }
void L25TauAnalyzer::initializeVectors ( )
private

Definition at line 513 of file L25TauAnalyzer.cc.

References NULL.

513  {
514  l25TrkPt = NULL;
515  l25TrkEta= NULL;
516  l25TrkPhi= NULL;
517  l25TrkDz= NULL;
518  l25TrkDxy= NULL;
519  l25TrkChi2= NULL;
523 
535 
536  l25IsoTrkPt= NULL;
544  l25IsoTrkDz= NULL;
547 }
std::vector< int > * l25SignalTrkNLostHits
std::vector< float > * l25SignalTrkPt
std::vector< float > * l25TrkChi2
std::vector< float > * l25SignalTrkPhi
std::vector< int > * l25SignalTrkNRecHits
std::vector< float > * l25TrkDxy
std::vector< int > * l25SignalTrkNValidPixelHits
std::vector< float > * l25SignalTrkDxy
#define NULL
Definition: scimark2.h:8
std::vector< int > * l25IsoTrkNValidHits
std::vector< float > * l25IsoTrkChi2
std::vector< int > * l25IsoTrkNLostHits
std::vector< float > * l25SignalTrkChi2NdF
std::vector< float > * l25TrkPhi
std::vector< int > * l25IsoTrkNValidPixelHits
std::vector< float > * l25TrkNValidPixelHits
std::vector< float > * l25IsoTrkPt
std::vector< float > * l25SignalTrkDz
std::vector< float > * l25IsoTrkPhi
std::vector< int > * l25SignalTrkNValidHits
std::vector< float > * l25SignalTrkEta
std::vector< float > * l25TrkEta
std::vector< float > * l25SignalTrkChi2
std::vector< float > * l25IsoTrkDxy
std::vector< int > * l25IsoTrkNRecHits
std::vector< float > * l25TrkDz
std::vector< float > * l25IsoTrkChi2NdF
std::vector< float > * l25IsoTrkEta
std::vector< float > * l25TrkNRecHits
std::vector< float > * l25IsoTrkDz
std::vector< float > * l25TrkPt
std::vector< float > * l25TrkChi2NdF
reco::PFTau L25TauAnalyzer::match ( const reco::Jet jet,
const reco::PFTauCollection thePFTauColl 
)
private

Definition at line 395 of file L25TauAnalyzer.cc.

References delta, and reco::LeafCandidate::p4().

395  {
396 
397  //Loop On the Collection and see if your tau jet is matched to one there
398  //Also find the nearest Matched MC Particle to your Jet (to be complete)
399  // switch reference collection to pftau; match to this.
400 
401  reco::PFTau theMatchedPFTau;
402  double matchDr=0.3;
403 
404  if(thePFTauColl.size()>0)
405  for(reco::PFTauCollection::const_iterator it = thePFTauColl.begin(); it != thePFTauColl.end(); ++it){
406  double delta = ROOT::Math::VectorUtil::DeltaR(jet.p4(),(*it).p4());
407  if(delta<matchDr){
408  matchDr = delta;
409  theMatchedPFTau = *it;
410  }
411  }
412  return theMatchedPFTau;
413 }
dbl * delta
Definition: mlp_gen.cc:36
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
reco::CaloJet L25TauAnalyzer::matchedToPFTau ( const reco::PFTau thePFTau,
const reco::L2TauInfoAssociation theL2Info 
)
private

Definition at line 415 of file L25TauAnalyzer.cc.

References edm::AssociationMap< Tag >::begin(), delta, edm::AssociationMap< Tag >::end(), reco::LeafCandidate::et(), and reco::LeafCandidate::p4().

415  {
416  double matchDr = 0.5;
417  reco::CaloJet theMatchedJet;
418  for(L2TauInfoAssociation::const_iterator it = theL2Info.begin(); it != theL2Info.end(); ++it){
419  const reco::CaloJet& l2Jet =*(it->key);
420  if(l2Jet.et() < 15.) continue;
421  double delta = ROOT::Math::VectorUtil::DeltaR(thePFTau.p4(),l2Jet.p4());
422  if(delta < matchDr){
423  matchDr = delta;
424  theMatchedJet = l2Jet;
425  }
426  }
427  return theMatchedJet;
428 }
dbl * delta
Definition: mlp_gen.cc:36
Jets made from CaloTowers.
Definition: CaloJet.h:30
virtual double et() const
transverse energy
const_iterator end() const
last iterator over the map (read only)
const_iterator begin() const
first iterator over the map (read only)
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
void L25TauAnalyzer::printInfo ( const reco::PFTau thePFTau,
const reco::IsolatedTauTagInfo theTauTagInfo 
)
private

Definition at line 430 of file L25TauAnalyzer.cc.

References edm::RefVector< C, T, F >::begin(), gather_cfg::cout, deltaR(), edm::RefVector< C, T, F >::end(), reco::LeafCandidate::et(), reco::LeafCandidate::eta(), reco::PFTau::isolationPFChargedHadrCands(), reco::JTATagInfo::jet(), reco::IsolatedTauTagInfo::leadingSignalTrack(), reco::PFTau::leadPFChargedHadrCand(), reco::LeafCandidate::phi(), edm::RefVector< C, T, F >::size(), and reco::IsolatedTauTagInfo::tracksInCone().

430  {
431  const TrackRef theLeadTrack = theTauTagInfo.leadingSignalTrack(_l25JetLeadTkMacthingCone, _minTrackPt);
432  const TrackRefVector theSignalTracks = theTauTagInfo.tracksInCone(theLeadTrack->momentum(), _signalCone, _minTrackPt);
433  const TrackRefVector theIsoTracks = theTauTagInfo.tracksInCone(theLeadTrack->momentum(), _isolationCone, _minTrackPt);
434 
435  std::cout << " Isolated PFTau Matched to Non-Isolated L25 Object( PFTau:L25)"
436  << "\n Et\t" << thePFTau.et() << "\t" << theTauTagInfo.jet()->et()
437  << "\n Eta\t" << thePFTau.eta() << "\t" << theTauTagInfo.jet()->eta()
438  << "\n Phi\t" << thePFTau.phi() << "\t" << theTauTagInfo.jet()->phi()
439  << "\n LTPt\t" << thePFTau.leadPFChargedHadrCand()->pt() << "\t" << theLeadTrack->pt()
440  << "\n LTEta\t" << thePFTau.leadPFChargedHadrCand()->eta() << "\t" << theLeadTrack->eta()
441  << "\n LTPhi\t" << thePFTau.leadPFChargedHadrCand()->phi() << "\t" << theLeadTrack->phi()
442  << "\n NIso\t" << thePFTau.isolationPFChargedHadrCands().size() << "\t" << theIsoTracks.size() - theSignalTracks.size()
443  <<"\n";
444 
445  unsigned int nIsoTrk = 0;
446  std::cout << " Tracks in L2.5 Iso: (Pt:Eta:Phi:DR:Chi2:Chi2/NdF:PxlHits:dxy:dz)\n";
447  for(TrackRefVector::const_iterator isoIt = theIsoTracks.begin(); isoIt != theIsoTracks.end(); ++isoIt){
448  double isoTrackLeadTrkDeltaR = deltaR(theLeadTrack->eta(), theLeadTrack->phi(), (*isoIt)->eta(), (*isoIt)->phi());
449  if(isoTrackLeadTrkDeltaR > _signalCone){
450  nIsoTrk++;
451  cout << nIsoTrk
452  << "\t" << (*isoIt)->pt()
453  << "\t" << (*isoIt)->eta()
454  << "\t" << (*isoIt)->phi()
455  << "\t" << isoTrackLeadTrkDeltaR
456  << "\t" << (*isoIt)->chi2()
457  << "\t" << (*isoIt)->normalizedChi2()
458  << "\t" << (*isoIt)->hitPattern().numberOfValidPixelHits()
459  << "\t" << (*isoIt)->dxy(theVertexPosition)
460  << "\t" << (*isoIt)->dz(theVertexPosition)
461  << "\t" << theVertexPosition
462  << "\n";
463  }
464  }
465  nIsoTrk = 0;
466  std::cout << "Tracks in PFTau Iso: (Pt:Eta:Phi)\n";
468  isoIt != thePFTau.isolationPFChargedHadrCands().end(); ++isoIt){
469  nIsoTrk++;
470  cout << nIsoTrk << "\t"
471  << (*isoIt)->pt() << "\t"
472  << (*isoIt)->eta() << "\t"
473  << (*isoIt)->phi() << "\n";
474  }
475 }
virtual double et() const
transverse energy
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
virtual double eta() const
momentum pseudorapidity
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
virtual edm::RefToBase< Jet > jet(void) const
returns a polymorphic reference to the tagged jet
Definition: JTATagInfo.h:20
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
const PFCandidateRef & leadPFChargedHadrCand() const
Definition: PFTau.cc:62
const TrackRef leadingSignalTrack() const
math::XYZPoint theVertexPosition
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
tuple cout
Definition: gather_cfg.py:121
float _l25JetLeadTkMacthingCone
virtual double phi() const
momentum azimuthal angle
const PFCandidateRefVector & isolationPFChargedHadrCands() const
Charged candidates in isolation region.
Definition: PFTau.cc:84

Member Data Documentation

float L25TauAnalyzer::_isolationCone
private

Definition at line 82 of file L25TauAnalyzer.h.

float L25TauAnalyzer::_l25Dz
private

Definition at line 85 of file L25TauAnalyzer.h.

float L25TauAnalyzer::_l25JetLeadTkMacthingCone
private

Definition at line 84 of file L25TauAnalyzer.h.

edm::InputTag L25TauAnalyzer::_l25JetSource
private

Definition at line 71 of file L25TauAnalyzer.h.

float L25TauAnalyzer::_l25LeadTkPtMin
private

Definition at line 86 of file L25TauAnalyzer.h.

float L25TauAnalyzer::_l2l25MatchingCone
private

Definition at line 83 of file L25TauAnalyzer.h.

edm::InputTag L25TauAnalyzer::_l2TauInfoAssoc
private

Definition at line 72 of file L25TauAnalyzer.h.

float L25TauAnalyzer::_minTrackPt
private

Definition at line 80 of file L25TauAnalyzer.h.

int L25TauAnalyzer::_nTrkIso
private

Definition at line 87 of file L25TauAnalyzer.h.

edm::InputTag L25TauAnalyzer::_pfTauIsoSource
private

Definition at line 75 of file L25TauAnalyzer.h.

edm::InputTag L25TauAnalyzer::_pfTauMuonDiscSource
private

Definition at line 76 of file L25TauAnalyzer.h.

edm::InputTag L25TauAnalyzer::_pfTauSource
private

Definition at line 73 of file L25TauAnalyzer.h.

edm::InputTag L25TauAnalyzer::_pVtxSource
private

Definition at line 74 of file L25TauAnalyzer.h.

float L25TauAnalyzer::_signalCone
private

Definition at line 81 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::hasLeadTrk
private

Definition at line 135 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::l25Disc_JetDir
private

Definition at line 171 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::l25Disc_LeadTkDir
private

Definition at line 170 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::l25Disc_Trk5_IsoPtMin2_NTrk0
private

Definition at line 172 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkChi2
private

Definition at line 125 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkChi2NdF
private

Definition at line 124 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkDxy
private

Definition at line 126 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkDz
private

Definition at line 127 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkEta
private

Definition at line 128 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25IsoTrkNLostHits
private

Definition at line 133 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25IsoTrkNRecHits
private

Definition at line 131 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25IsoTrkNValidHits
private

Definition at line 130 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25IsoTrkNValidPixelHits
private

Definition at line 132 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkPhi
private

Definition at line 129 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25IsoTrkPt
private

Definition at line 123 of file L25TauAnalyzer.h.

float L25TauAnalyzer::l25JetEt
private

Definition at line 97 of file L25TauAnalyzer.h.

float L25TauAnalyzer::l25JetEta
private

Definition at line 98 of file L25TauAnalyzer.h.

float L25TauAnalyzer::l25JetPhi
private

Definition at line 99 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::L25MatchedToL2
private

Definition at line 168 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::l25MatchedToPFTau
private

Definition at line 166 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkChi2
private

Definition at line 113 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkChi2NdF
private

Definition at line 112 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkDxy
private

Definition at line 114 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkDz
private

Definition at line 115 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkEta
private

Definition at line 116 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25SignalTrkNLostHits
private

Definition at line 121 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25SignalTrkNRecHits
private

Definition at line 119 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25SignalTrkNValidHits
private

Definition at line 118 of file L25TauAnalyzer.h.

std::vector<int>* L25TauAnalyzer::l25SignalTrkNValidPixelHits
private

Definition at line 120 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkPhi
private

Definition at line 117 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25SignalTrkPt
private

Definition at line 111 of file L25TauAnalyzer.h.

TTree* L25TauAnalyzer::l25tree
private

Definition at line 89 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkChi2
private

Definition at line 106 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkChi2NdF
private

Definition at line 107 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkDxy
private

Definition at line 105 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkDz
private

Definition at line 104 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkEta
private

Definition at line 102 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkNRecHits
private

Definition at line 108 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkNValidPixelHits
private

Definition at line 109 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkPhi
private

Definition at line 103 of file L25TauAnalyzer.h.

std::vector<float>* L25TauAnalyzer::l25TrkPt
private

Definition at line 101 of file L25TauAnalyzer.h.

float L25TauAnalyzer::l2JetEt
private

Definition at line 162 of file L25TauAnalyzer.h.

float L25TauAnalyzer::l2JetEta
private

Definition at line 163 of file L25TauAnalyzer.h.

float L25TauAnalyzer::l2JetPhi
private

Definition at line 164 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::L2MatchedToPFtau
private

Definition at line 167 of file L25TauAnalyzer.h.

float L25TauAnalyzer::leadIsoTrkDeltaR
private

Definition at line 158 of file L25TauAnalyzer.h.

float L25TauAnalyzer::leadIsoTrkPtRes
private

Definition at line 157 of file L25TauAnalyzer.h.

float L25TauAnalyzer::leadSignalTrackPt
private

Definition at line 136 of file L25TauAnalyzer.h.

float L25TauAnalyzer::leadTrkDeltaR
private

Definition at line 156 of file L25TauAnalyzer.h.

float L25TauAnalyzer::leadTrkJetDeltaR
private

Definition at line 137 of file L25TauAnalyzer.h.

float L25TauAnalyzer::leadTrkPtRes
private

Definition at line 155 of file L25TauAnalyzer.h.

int L25TauAnalyzer::myNtrkIso
private

Definition at line 95 of file L25TauAnalyzer.h.

int L25TauAnalyzer::numPixTrkInJet
private

Definition at line 91 of file L25TauAnalyzer.h.

int L25TauAnalyzer::numQPixTrkInAnnulus
private

Definition at line 94 of file L25TauAnalyzer.h.

int L25TauAnalyzer::numQPixTrkInJet
private

Definition at line 92 of file L25TauAnalyzer.h.

int L25TauAnalyzer::numQPixTrkInSignalCone
private

Definition at line 93 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauElecDisc
private

Definition at line 144 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauEt
private

Definition at line 145 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauEta
private

Definition at line 147 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauGammaIso
private

Definition at line 152 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::pfTauHasLeadTrk
private

Definition at line 140 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::pfTauInBounds
private

Definition at line 141 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauIsoDisc
private

Definition at line 142 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pftauIsoTrkDeltaR
private

Definition at line 160 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauIsoTrkPt
private

Definition at line 154 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pftauL25DeltaR
private

Definition at line 138 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauLTPt
private

Definition at line 149 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauMuonDisc
private

Definition at line 143 of file L25TauAnalyzer.h.

int L25TauAnalyzer::pfTauNProngs
private

Definition at line 150 of file L25TauAnalyzer.h.

int L25TauAnalyzer::pfTauNTrkIso
private

Definition at line 153 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauPhi
private

Definition at line 148 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauPt
private

Definition at line 146 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pftauSignalTrkDeltaR
private

Definition at line 159 of file L25TauAnalyzer.h.

float L25TauAnalyzer::pfTauTrkIso
private

Definition at line 151 of file L25TauAnalyzer.h.

bool L25TauAnalyzer::signal_
private

Definition at line 79 of file L25TauAnalyzer.h.

math::XYZPoint L25TauAnalyzer::theVertexPosition
private

Definition at line 77 of file L25TauAnalyzer.h.