00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef ATLFAST_CELLHISTOGRAMMAKER2_H
00024 #define ATLFAST_CELLHISTOGRAMMAKER2_H
00025
00026
00027 #include <vector>
00028 #include <string>
00029
00030
00031 #include "GaudiKernel/ISvcLocator.h"
00032 #include "GaudiKernel/Algorithm.h"
00033 #include "GaudiKernel/MsgStream.h"
00034 #include "GaudiKernel/DataObject.h"
00035
00036 class IHistogram1D;
00037
00038
00039 #include "CLHEP/Vector/LorentzVector.h"
00040 #include "HepMC/GenEvent.h"
00041 #include "HepMC/GenParticle.h"
00042
00043
00044
00045 #include "AtlfastCode/Cell.h"
00046 #include "AtlfastCode/TesIO.h"
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 #define DEFAULT_inputLocation "/Event/AtlfastCells"
00057 #define DEFAULT_mcTruthLocation "/Event/McEventCollection"
00058
00059
00060
00061 #define DEFAULT_particleType 11
00062
00063
00064 #define DEFAULT_histStart 0
00065
00066
00067 #define DEFAULT_histTitle "Cells "
00068
00069
00070
00071
00072 namespace Atlfast {
00076 class CellHistogramMaker2 : public Algorithm{
00077
00078 public:
00079
00080
00081
00082
00083
00084
00085
00087 CellHistogramMaker2( const std::string& name, ISvcLocator* pSvcLocator ) ;
00089 ~CellHistogramMaker2();
00090
00091
00092
00093
00094
00096 StatusCode initialize() ;
00098 StatusCode execute() ;
00100 StatusCode finalize() ;
00101
00102
00103
00104 private:
00105
00106 TesIO* m_tesIO;
00107
00108
00109
00110
00111
00115 void book(std::vector<IHistogram1D*> & start, const std::string title, const int nbins, const double xmin, double xmax);
00119 void sbook(const std::string title, const int nbins, const double xmin, double xmax);
00123 void fill(std::vector<IHistogram1D*> & start, const double rec, const double tru);
00127 void sfill(const double rec);
00128
00129
00130
00131
00135 std::string m_inputLocation;
00139 std::string m_mcTruthLocation;
00140
00141
00142
00143
00144
00145
00146
00148 IHistogram1D* m_h_phipart ;
00150 IHistogram1D* m_h_phicell ;
00152 IHistogram1D* m_h_etapart ;
00154 IHistogram1D* m_h_etacell ;
00155
00157 IHistogram1D* m_h_phidiff_negEC ;
00159 IHistogram1D* m_h_etadiff_negEC ;
00160
00162 IHistogram1D* m_h_phidiff_Bar ;
00164 IHistogram1D* m_h_etadiff_Bar ;
00165
00167 IHistogram1D* m_h_phidiff_posEC ;
00169 IHistogram1D* m_h_etadiff_posEC ;
00170
00172 IHistogram1D* m_h_etadiff ;
00173
00174
00176 int m_histStart;
00178 int m_nHist;
00179
00181 int m_particleType ;
00182
00184 std::string m_histTitle ;
00185
00186 };
00187
00188
00189 }
00190
00191 #endif
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204