• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/Users/jmonk/Physics/ForIA/ForIA/Jet.hh

Go to the documentation of this file.
00001 #ifndef FORIA_JET_HH
00002 #define FORIA_JET_HH
00003 
00004 #include "ForIA/IFourMomentum.hh"
00005 #include "ForIA/Track.fh"
00006 #include "ForIA/Jet.fh"
00007 #include "ForIA/JetKey.fh"
00008 #include "ForIA/Event.hh"
00009 #include "boost/smart_ptr.hpp"
00010 #include <vector>
00011 #include <iostream>
00012 
00013 
00014 namespace ForIA{
00015 
00016   using std::vector;
00017   
00018   class Jet: public IFourMomentum{
00019     
00020 
00021   public:
00022 
00024     enum Algorithm {ALG_UNDEFINED=0, ALG_BEGIN=1, ANTI_KT=ALG_BEGIN, KT, SISCONE, CAMBRIDGE_AACHEN, ALG_END};
00025     
00027     enum Calibration {CALIBRATION_UNDEFINED=0, CALIBRATION_BEGIN=1, 
00028       LC_TOPO=CALIBRATION_BEGIN, TOPO, EM_TOPO, H1_TOPO, TOPO_END};
00029 
00035     Jet(JetKeyConstPtr key);
00036     
00037     
00049     Jet(JetKeyConstPtr &key,
00050         double E, double pT, double mass, double eta, double phi);
00051     
00053     double E() const;
00055     double ET() const;
00057     double PT() const;
00059     double mass()const;
00061     double theta() const;
00063     double phi() const;
00065     double eta() const;
00067     double rapidity()const;
00069     double px()const;
00071     double py()const;
00073     double pz()const;
00074     
00076     double rParam()const;
00077     
00079     double HECFraction()const;
00081     double HECQuality()const;
00083     double LArQuality()const;
00085     double LArQualityMean()const;
00087     double negativeEnergy()const;
00089     double EMFraction()const;
00091     double chargedFraction()const;
00093     double fracSamplingMax()const;
00094     
00099     bool isBadLooser()const;
00100     
00102     bool isUgly() const;
00104     int isBadLoose() const;
00106     int isBadMedium() const;
00108     int isBadTight() const;
00109     // emscale_Eta
00110     double emScaleEta() const;
00111     // scaleEnergy
00112     void scaleEnergy(double scale, bool percentual);
00113     
00114     const TrackVector &matchedTracks()const;
00115     
00116   private:
00117     
00118     friend std::ostream &operator << (std::ostream &out, const Jet &jet);
00119     friend void Event::matchTracksToJets(const JetKey&)const;
00120     friend class DataConverter;
00121 
00122     JetKeyConstPtr m_key;
00123     
00124     Calibration m_calibration;
00125 
00126     mutable double m_E;
00127     double m_PT;
00128     double m_mass;
00129     double m_phi;
00130     double m_eta;
00131     
00132     mutable double m_px;
00133     mutable double m_py;
00134     mutable double m_pz;
00135     mutable double m_rapidity;
00136     mutable bool m_gotpx;
00137     mutable bool m_gotpy;
00138     mutable bool m_gotpz;
00139     mutable bool m_gotRapidity;
00140     
00141     int   m_isBadLoose;
00142     int   m_isBadMedium;
00143     int   m_isBadTight;
00144 
00145     double m_emScaleEta;
00146     double m_emFrac;
00147 
00148     double m_hecFraction;
00149     double m_hecQuality;
00150     double m_larQuality;
00151     double m_averageLARQualityFraction;
00152     mutable double m_LARQualityMean;
00153     mutable bool m_gotLARQualityMean;
00154     double m_negEnergy;
00155     double m_trackPTSum;
00156     mutable double m_chargedFraction;
00157     mutable bool m_gotChargedFraction;
00158     double m_fracSamplingMax;
00159     
00160     double m_tileGap3;
00161     double m_bchCorrCell;
00162     
00163     mutable bool m_badLooser;
00164     mutable bool m_gotBadLooser;
00165         
00166     const Event *m_event;
00167     mutable TrackVector m_matchedTracks;
00168     mutable bool m_gotMatchedTracks;
00169     
00170   };
00171 }
00172 #endif

Generated on Mon Jul 30 2012 16:56:35 for ForIA by  doxygen 1.7.2