00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef ATLFAST_TESTANALYSIS_H
00023 #define ATLFAST_TESTANALYSIS_H
00024
00025
00026 #include <string>
00027 #include <vector>
00028
00029
00030 #include "GaudiKernel/ISvcLocator.h"
00031 #include "GaudiKernel/IAlgorithm.h"
00032 #include "GaudiKernel/Algorithm.h"
00033 #include "GaudiKernel/MsgStream.h"
00034 #include "GaudiKernel/DataObject.h"
00035 #include "GaudiKernel/ObjectVector.h"
00036 #include "GaudiKernel/IHistogram1D.h"
00037 #include "GaudiKernel/IHistogram2D.h"
00038 #include "GaudiKernel/IHistogramSvc.h"
00039
00040
00041 #include "HepMC/GenParticle.h"
00042
00043
00044 #include "AtlfastCode/IKinematic.h"
00045 #include "AtlfastCode/KinematicHelper.h"
00046
00047
00048 #include "AtlfastCode/ReconstructedParticle.h"
00049 #include "AtlfastCode/ReconstructedParticleCollection.h"
00050 #include "AtlfastCode/Cell.h"
00051 #include "AtlfastCode/CellCollection.h"
00052 #include "AtlfastCode/Cluster.h"
00053 #include "AtlfastCode/ClusterCollection.h"
00054 #include "AtlfastCode/Track.h"
00055 #include "AtlfastCode/TrackCollection.h"
00056 #include "AtlfastCode/TesIO.h"
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066 #define DEFAULT_rCellIsolation 0.2
00067
00068 #define DEFAULT_particleLocation "/Event/AtlfastIsolatedElectrons"
00069 #define DEFAULT_cellLocation "/Event/AtlfastCells"
00070 #define DEFAULT_clusterLocation "/Event/AtlfastClusters"
00071 #define DEFAULT_trackLocation "/Event/AtlfastTracks"
00072
00073 #define DEFAULT_histStart 1000
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089 namespace Atlfast {
00094 class TestAnalysis : public Algorithm
00095 {
00096
00097 public:
00098
00099
00100
00101
00102
00103
00104
00106 TestAnalysis( const std::string& name, ISvcLocator* pSvcLocator ) ;
00108 virtual ~TestAnalysis();
00109
00110
00111
00112
00113
00115 StatusCode initialize() ;
00117 StatusCode execute() ;
00119 StatusCode finalize() ;
00120
00121
00122
00123 private:
00124
00125
00126
00127
00128 TesIO* m_tesIO;
00130 IHistogram1D* m_hist_pT;
00131
00133 IHistogram1D* m_hist_isolation;
00134
00136 IHistogram2D* m_hist_cellFlow;
00137 IHistogram2D* m_hist_clusterFlow;
00138
00139
00140
00141
00142
00143
00144
00147 double m_rCellIsolation;
00148
00150 std::string m_particleLocation ;
00151 std::string m_cellLocation ;
00152 std::string m_clusterLocation ;
00153 std::string m_trackLocation ;
00154
00156 int m_histStart ;
00157
00158
00159
00160
00161
00162
00163
00164
00166 KinematicHelper m_kinehelp ;
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176 void dumpParticles( MsgStream&,
00177 std::vector<ReconstructedParticle*>& );
00178
00180 void plotIsolation( MsgStream&,
00181 std::vector<ReconstructedParticle*>&,
00182 std::vector<Cell*>& );
00183
00185 void plotEnergyFlow( MsgStream&,
00186 std::vector<Cluster*>&,
00187 std::vector<Cell*>& );
00188
00189 };
00190
00191 }
00192
00193
00194 #endif
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205