JetCalibrator.h

Go to the documentation of this file.
00001 // ================================================
00002 // JetCalibrator class description
00003 // ================================================
00004 //
00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00006 //
00007 //
00008 // This version....
00009 //
00010 //
00011 // Namespace Atlfast::
00012 //
00013 // class: JetCalibrator
00014 //
00015 // Description: 
00016 //
00017 //  Algorithm which knows how to calibrate Jets
00018 //
00019 //  The resulting Jets are added to the Event
00020 //
00021 // ................................................................
00022 //
00023 
00024 #ifndef ATLFAST_JETCALIBRATOR_H
00025 #define ATLFAST_JETCALIBRATOR_H
00026 
00027 // STL
00028 #ifndef STD_VECTOR_H
00029 #include <vector>
00030 #define STD_VECTOR_H
00031 #endif
00032 
00033 #ifndef STD_STRING_H
00034 #include <string>
00035 #define STD_STRING_H
00036 #endif
00037 
00038 // Gaudi 
00039 #ifndef GAUDIKERNEL_ALGORITHM_H
00040 #include "GaudiKernel/Algorithm.h"
00041 #define GAUDIKERNEL_ALGORITHM_H
00042 #endif
00043 
00044 // Other
00045 #ifndef CLHEP_LORENTZVECTOR_H
00046 #include "CLHEP/Vector/LorentzVector.h"
00047 #define CLHEP_LORENTZVECTOR_H
00048 #endif
00049 
00050 // Atlfast
00051 #ifndef ATLFAST_KINEMATICHELPER_H
00052 #include "AtlfastUtils/KinematicHelper.h"
00053 #endif
00054 
00055 #ifndef ATLFAST_COLLECTIONDEFs_H
00056 #include "AtlfastEvent/CollectionDefs.h"
00057 #endif
00058 
00059 #ifndef ATLFAST_MCPARTICLECOLLECTION_H
00060 #include "AtlfastEvent/MCparticleCollection.h"
00061 #endif
00062 
00063 #ifndef ATLFAST_JETVISITOR_H
00064 #include "AtlfastUtils/JetVisitor.h"
00065 #endif
00066 
00067 
00068 class MsgStream;
00069 class ISvcLocator;
00070 
00071 namespace Atlfast {
00076   class Jet;
00077   class TesIO;
00078   class JetVisitor;
00079   
00080   class JetCalibrator : public Algorithm{
00081 
00082   private:
00083     
00084     //--------------------------------
00085     // Parameters of this algorithm
00086     // (descriptions above)
00087     //--------------------------------
00088     
00089     
00090     
00091     //--------------------------------------------
00092     // Smearer helper class
00093     // which knows all about how to do smearing
00094     // for my particles
00095     //---------------------------------------------
00096     
00097     JetVisitor m_jetVisitor;
00098     
00099     TesIO* m_tesIO;
00100 
00101     //holds the Stotegate MC location
00102     std::string m_mcLocation;
00103     
00104     //--------------------------------------------------
00105     // Paths in the Transient Event store to get/put things
00106     // These are currently set in member variables so that
00107     // they can be overwritten by the job options service
00108     //--------------------------------------------------
00109     
00110     std::string m_inputLocation ;
00111     std::string m_outputLocation ;
00112 
00113   public:
00114     
00115     //-------------------------
00116     // Constructors/Destructors
00117     //
00118     // Gaudi requires that the constructor takes certain arguments
00119     // (and passes them directly to the constructor of the base class)
00120     //-------------------------
00121     
00123     JetCalibrator( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00124 
00126     virtual ~JetCalibrator();
00127     
00128     
00129     //------------------------------------------------------
00130     // Methods used by Gaudi to run the algorithm
00131     //------------------------------------------------------
00132     
00134     StatusCode initialize() ;
00136     StatusCode execute() ;
00138     StatusCode finalize() ;
00139     
00140     //------------------------------------------------------
00141     // Methods of the JetCalibrator
00142     //------------------------------------------------------
00143     
00145     double alpha(double, double);
00147     double beta(double, double);
00148     
00150     void calibrate( Jet* );
00151 
00153     void undoMuons( Jet*, ReconstructedParticleVector& );
00154 
00156     void addMuons( Jet*, ReconstructedParticleVector& );
00157 
00159     MsgStream& dumpParameters(MsgStream& ) const; 
00160     
00161   };
00162   
00163   
00164 }  //end of namespace bracket
00165 
00166 #endif
00167 
00168 
00169 
00170 
00171 
00172 
00173 
00174 
00175 
00176 
00177 
00178 
00179 
00180 
00181 
00182 

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1