NtupleReader/NtupleReader/MyTauJet.h

00001 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00002 // 20.11.2006, AUTHOR: THIES EHRICH
00003 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00004 
00005 #ifndef MyTauJetH
00006 #define MyTauJetH
00007 
00008 //:::::::::::::::::::::::::
00009 //:: CLASS MyTauJet ::
00010 //:::::::::::::::::::::::::
00011 
00020 
00021 //::::::::::::::::::
00022 //:: HEADER FILES ::
00023 //::::::::::::::::::
00024 
00025 // standard C++ //
00026 #include <iostream>
00027 #include <string>
00028 #include <vector>
00029 #include "math.h"
00030 
00031 // ROOT //
00032 #include "TLorentzVector.h"
00033 
00034 // MyParticle base class //
00035 #include "MyParticle.h"
00036 #include "NtupleReader/MyDatasetInfo.h"
00037 
00038 class MyTauJet : public MyParticle {
00039 
00040 public:
00041     // Constructors //
00042     MyTauJet(void) {
00043         init( TLorentzVector(0.0, 0.0, 0.0, 0.0), 
00044               0.0, 0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 
00045               0.0, 0.0 ,0.0, 0.0 ,0.0, 0.0, 0,
00046               TLorentzVector(0.0,0.0,0.0,0.0),
00047               TLorentzVector(0.0,0.0,0.0,0.0),
00048               TLorentzVector(0.0,0.0,0.0,0.0),
00049               0,0,0,0,0,0);
00050     }
00052     MyTauJet(const TLorentzVector & p,
00053              const double & charge,
00054              const int & rec_flag,
00055              const int & index,
00056              const double & emRadius,
00057              const double & isolationFraction,
00058              const double & centralityFraction,
00059              const double & stripWidth2,
00060              const double & nStripCells,
00061              const double & llh,
00062              const double & lowPtTauEleDiscriminant,
00063              const double & tauENeuralNetwork,
00064              const double & tauJetNeuralnetwork,
00065              const double & etHadCalib,
00066              const double & etEMCalib,
00067              const int & nb_tracks,
00068              const TLorentzVector & track_1,
00069              const TLorentzVector & track_2,
00070              const TLorentzVector & track_3,
00071              const int & track_TRTHits_1,
00072              const int & track_TRTHighThresholdHits_1,
00073              const int & track_TRTHits_2,
00074              const int & track_TRTHighThresholdHits_2,
00075              const int & track_TRTHits_3,
00076              const int & track_TRTHighThresholdHits_3
00077              ){
00078 
00079         init(p, charge, rec_flag, index, emRadius,
00080              isolationFraction,centralityFraction,stripWidth2,nStripCells,
00081              llh, lowPtTauEleDiscriminant, tauENeuralNetwork, tauJetNeuralnetwork,
00082              etHadCalib, etEMCalib, nb_tracks, track_1, track_2, track_3,
00083              track_TRTHits_1, track_TRTHighThresholdHits_1,
00084              track_TRTHits_2, track_TRTHighThresholdHits_2,
00085              track_TRTHits_3, track_TRTHighThresholdHits_3);
00086     }
00096 
00097     // Methods //
00098     // get methods //
00099     inline double llh(void) const;
00101     inline double emRadius(void) const;
00102     inline double isolationFraction(void) const;
00103     inline double centralityFraction(void) const;
00104     inline double stripWidth2(void) const;
00105     inline double nStripCells(void) const;
00106     inline double lowPtTauEleDiscriminant(void) const;
00107     inline double tauENeuralNetwork(void) const;
00108     inline double tauJetNeuralnetwork(void) const;
00109     inline int reconstruction_flag(void) const;
00112 
00113     inline double ethadcalib(void) const;
00114     inline double etemcalib(void) const;
00115     inline int nb_tracks(void) const;
00116     inline TLorentzVector track_1(void) const;
00117     inline TLorentzVector track_2(void) const;
00118     inline TLorentzVector track_3(void) const;
00119     inline TLorentzVector tlv_corr(void) const;
00120     int track_TRTHits_1(void) const;
00121     int track_TRTHighThresholdHits_1(void) const;
00122     int track_TRTHits_2(void) const;
00123     int track_TRTHighThresholdHits_2(void) const;
00124     int track_TRTHits_3(void) const;
00125     int track_TRTHighThresholdHits_3(void) const;
00127 
00128     // set methods //
00129     inline void set_reconstruction_flag(const int & flag);
00132 
00133     inline MyTauJet* Clone(void) const;
00134 
00135     inline void PrintParticle(std::string option = "");
00137 
00138     private:
00139     
00140     // The MyDatasetInfo object 
00141     MyDatasetInfo *m_dataset_info;
00142     // taujet data //
00143     int m_rec_flag; // reconstruction flag (see the definition above)
00144     double m_emRadius;
00145     double m_isolationFraction;
00146     double m_centralityFraction;
00147     double m_stripWidth2;
00148     double m_nStripCells;
00149     double m_llh;       // logLikelihoodRatio from tauRec
00150     double m_lowPtTauEleDiscriminant;   // 
00151     double m_tauENeuralNetwork; // 
00152     double m_tauJetNeuralnetwork;       // 
00153     double m_etHadCalib;        //  tauRec
00154     double m_etEMCalib; //  tauRec
00155     int m_nb_tracks;    //  nb of charged tracks from taujets (pions)
00156     TLorentzVector m_track_1;   //  pt of first track
00157     TLorentzVector m_track_2;   //  pt of second track
00158     TLorentzVector m_track_3;   //  pt of third track
00159     int m_track_TRTHits_1;
00160     int m_track_TRTHighThresholdHits_1;
00161     int m_track_TRTHits_2;
00162     int m_track_TRTHighThresholdHits_2;
00163     int m_track_TRTHits_3;
00164     int m_track_TRTHighThresholdHits_3;
00165 
00166     // private methods //
00167     inline void init(const TLorentzVector & p,
00168                      const double & charge,
00169                      const int & rec_flag,
00170                      const int & index,
00171                      const double & emRadius ,
00172                      const double & isolationFraction,
00173                      const double & centralityFraction,
00174                      const double & stripWidth2,
00175                      const double & nStripCells,
00176                      const double & llh,
00177                      const double & lowPtTauEleDiscriminant,
00178                      const double & tauENeuralNetwork,
00179                      const double & tauJetNeuralnetwork,
00180                      const double & etHadCalib,
00181                      const double & etEMCalib,
00182                      const int & nb_tracks,
00183                      const TLorentzVector & track_1,
00184                      const TLorentzVector & track_2,
00185                      const TLorentzVector & track_3,
00186                      const int & track_TRTHits_1,
00187                      const int & track_TRTHighThresholdHits_1,
00188                      const int & track_TRTHits_2,
00189                      const int & track_TRTHighThresholdHits_2,
00190                      const int & track_TRTHits_3,
00191                      const int & track_TRTHighThresholdHits_3
00192                      ) ;
00193 
00194     // initialization method;
00195     // tcharge: charge of the taujet;
00196     // rec_flag: reconstruction flag:
00197     //    = 0: unknown algorithm,
00198     //    = 1: cone-4 algorithm,
00199     //    = 2: cone-7 algorithm,
00200     //    = 3: kt algorithm;
00201     // index = index in original vector
00202     // llh = likelihood value
00203     // 
00204 
00205 };
00206 
00207 //::::::::::::::::::::::::::::::::::::::
00208 //:: IMPLEMENTATION OF INLINE METHODS ::
00209 //::::::::::::::::::::::::::::::::::::::
00210 
00211 #include "MyTauJet.ixx"
00212 
00213 #endif

Generated on Tue Oct 21 11:50:45 2008 for NtupleAnalysis by  doxygen 1.5.1