CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IsolatedTauTagInfo.h
Go to the documentation of this file.
1 
2 #ifndef DataFormats_BTauReco_IsolatedTauTagInfo_h
3 #define DataFormats_BTauReco_IsolatedTauTagInfo_h
4 //
5 // \class IsolatedTauTagInfo
6 // \short Extended object for the Tau Isolation algorithm.
7 // contains the result and the methods used in the ConeIsolation Algorithm, to create the
8 // object to be made persistent on RECO
9 //
10 // \author: Simone Gennai, based on ORCA class by S. Gennai and F. Moortgat
11 //
12 
17 
18 namespace reco {
19 
20  class IsolatedTauTagInfo : public JTATagInfo {
21  public:
22  //default constructor
23  IsolatedTauTagInfo( void ) :
24  JTATagInfo(),
26 
27  {
28  }
29 
31  JTATagInfo(jtaRef),
32  selectedTracks_(tracks)
33  { }
34 
35  //destructor
36  virtual ~IsolatedTauTagInfo() {}
37 
38  //get the tracks from the jetTag
39  const TrackRefVector allTracks() const { return tracks(); }
40 
41  //get the selected tracks used to computed the isolation
43 
44  virtual IsolatedTauTagInfo* clone() const { return new IsolatedTauTagInfo( *this ); }
45 
46  // default discriminator: returns the value of the discriminator of the jet tag, i.e. the one computed with the parameters taken from the cfg file
47  float discriminator() const { return m_discriminator; }
48  //set discriminator value
50 
51  // methods to be used to recomputed the isolation with a new set of parameters
52  float discriminator( float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing = 0) const;
53  float discriminator( const math::XYZVector& myVector, float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing) const;
54  // Used in case the PV is not considered
55  float discriminator( float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing, float dz_lt) const;
56  float discriminator( const math::XYZVector& myVector, float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing, float dz_lt) const;
57 
58  // return all tracks in a cone of size "size" around a direction "direction"
59  const TrackRefVector tracksInCone(const math::XYZVector& myVector, const float size, const float pt_min ) const;
60  const TrackRefVector tracksInCone(const math::XYZVector& myVector, const float size, const float pt_min, const float z_pv, const float dz_lt ) const;
61 
62  // return the leading track in a given cone around the jet axis or a given direction
63  void setLeadingTrack(const TrackRef) ;
64  const TrackRef leadingSignalTrack() const;
65  const TrackRef leadingSignalTrack(const float rm_cone, const float pt_min) const;
66  const TrackRef leadingSignalTrack(const math::XYZVector& myVector, const float rm_cone, const float pt_min) const;
67 
68  private:
72  };
73 
75 
76 }
77 
78 #endif // DataFormats_BTauReco_IsolatedTauTagInfo_h
const TrackRefVector selectedTracks() const
virtual TrackRefVector tracks(void) const
returns a list of tracks associated to the jet
Definition: JTATagInfo.h:21
virtual IsolatedTauTagInfo * clone() const
clone
void setDiscriminator(double discriminator)
const TrackRefVector tracksInCone(const math::XYZVector &myVector, const float size, const float pt_min) const
const JetTracksAssociationRef & jtaRef(void) const
Definition: JTATagInfo.h:22
#define DECLARE_EDM_REFS(class_name)
Definition: RefMacros.h:10
void setLeadingTrack(const TrackRef)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
const TrackRef leadingSignalTrack() const
const TrackRefVector allTracks() const
tuple size
Write out results.
IsolatedTauTagInfo(const TrackRefVector &tracks, const JetTracksAssociationRef &jtaRef)