CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DQMTauProducer.cc
Go to the documentation of this file.
3 //
4 // class decleration
5 //
6 
7 
9 {
10  trackIsolatedJets_ = iConfig.getParameter<edm::InputTag>("TrackIsoJets");
11  matchingCone_ = iConfig.getParameter<double>("MatchingCone");
12  signalCone_ = iConfig.getParameter<double>("SignalCone");
13  ptMin_ = iConfig.getParameter<double>("MinPtTracks");
14 
15  isolationCone_ = iConfig.getParameter<double>("IsolationCone");
16  produces<reco::HLTTauCollection>();
17 }
18 
20 
22 {
23 
24  using namespace reco;
25  using namespace edm;
26  using namespace std;
27 
28 
29  HLTTauCollection * jetCollection = new HLTTauCollection;
30 
31 
33  iEvent.getByLabel(trackIsolatedJets_, tauL25Jets );
34 
35 
36  IsolatedTauTagInfoCollection tau = *(tauL25Jets.product());
37 
38 
39  float eta_, phi_, pt_;
40  float ptLeadTk=0.;
41  int trackIsolation=1000.;
42  int nTracks=1000.;
43 
44  for(unsigned int i=0; i<tau.size();i++)
45  {
46  JetTracksAssociationRef jetTracks = tau[i].jtaRef();
47  math::XYZVector jetDir(jetTracks->first->px(),jetTracks->first->py(),jetTracks->first->pz());
48  eta_ = jetDir.eta();
49  phi_ = jetDir.phi();
50  pt_ = jetTracks->first->pt();
51 
52  const TrackRef leadTk = tau[i].leadingSignalTrack(jetDir,matchingCone_, 1.);
53  if(!leadTk)
54  {}else{
55  trackIsolation = (int)tau[i].discriminator(jetDir,matchingCone_, signalCone_, isolationCone_,1.,1.,0);
56  ptLeadTk = (*leadTk).pt();
57  nTracks = (tau[i].tracksInCone((*leadTk).momentum(), isolationCone_, ptMin_ )).size() - (tau[i].tracksInCone((*leadTk).momentum(), signalCone_, ptMin_ )).size();
58  }
59  HLTTau pippo(eta_,phi_,pt_,-1,trackIsolation,ptLeadTk,trackIsolation,ptLeadTk);
60  pippo.setNL25TrackIsolation(nTracks);
61  pippo.setNL3TrackIsolation(nTracks);
62  jetCollection->push_back(pippo);
63 
64  }
65 
66 
67  std::auto_ptr<reco::HLTTauCollection> selectedTaus(jetCollection);
68 
69  iEvent.put(selectedTaus);
70 
71 
72 
73 
74 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
DQMTauProducer(const edm::ParameterSet &)
virtual void produce(edm::Event &, const edm::EventSetup &)
double isolationCone_
int iEvent
Definition: GenABIO.cc:243
double matchingCone_
edm::InputTag trackIsolatedJets_
void setNL25TrackIsolation(int nTracks)
Definition: HLTTau.h:77
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:85
std::vector< IsolatedTauTagInfo > IsolatedTauTagInfoCollection
std::vector< HLTTau > HLTTauCollection
collection of HLTTau objects
Definition: HLTTauFwd.h:9
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
void setNL3TrackIsolation(int nTracks)
Definition: HLTTau.h:78