001 #ifndef CALOTRKMUIDTOOLS_TRACKDEPOSITINCALOTOOL_H
002 #define CALOTRKMUIDTOOLS_TRACKDEPOSITINCALOTOOL_H
003
004 #include "ICaloTrkMuIdTools/ITrackDepositInCaloTool.h"
005 #include "ICaloTrkMuIdTools/ITrackEnergyInCaloTool.h"
006
007 #include "GaudiKernel/AlgTool.h"
008 #include "GaudiKernel/MsgStream.h"
009 #include "CaloIdentifier/CaloCell_ID.h"
010 #include "StoreGate/StoreGateSvc.h"
011 #include "GaudiKernel/ToolHandle.h"
012
013 #include "CaloEvent/CaloCellContainer.h"
014
015 #include "GaudiKernel/ITHistSvc.h"
016
017 #include "TH1.h"
018
019 class CaloDetDescrManager;
020
021
022 class TrackDepositInCaloTool: public AlgTool, virtual public ITrackDepositInCaloTool {
023
024
025
026
027
028
029
030
031
032 public:
033 TrackDepositInCaloTool(const std::string&,const std::string&,const IInterface*);
034
035 virtual ~TrackDepositInCaloTool();
036
037 virtual StatusCode initialize();
038 virtual StatusCode finalize();
039
040
041
042 std::vector<DepositInCalo> getDeposits(const Trk::Track* track,
043 const double deltaR=0.3) const;
044
045
046
047 std::vector<DepositInCalo> getDeposits(const Trk::TrackParameters *par,
048 const double deltaR=0.3) const;
049
050
051
052 std::vector<DepositInCalo> deposits(const Trk::Track* track,
053 const double deltaR=0.3,
054 const bool inCell= true) const;
055
056
057
058 std::vector<DepositInCalo> deposits(const Trk::TrackParameters *par,
059 const double deltaR=0.3,
060 const bool inCell= true) const;
061
062
063 private:
064 DepositInCalo getDeposit(const Trk::TrackParameters *par,
065 const CaloCell_ID::CaloSample sample,
066 const double deltaR,
067 const bool inCell) const;
068 double DepositInCell(const CaloCell_ID::CaloSample sample,
069 const double eta,
070 const double phi,
071 const double deltaR) const;
072
073 double DepositInSample(const CaloCell_ID::CaloSample sample,
074 const double eta,
075 const double phi,
076 const double deltaR) const;
077 double DepositInCell(const CaloCell_ID::CaloSample sample,
078 const double eta,
079 const double phi,
080 const double dEta,
081 const double dPhi) const;
082
083 double DepositInSample(const CaloCell_ID::CaloSample sample,
084 const double eta,
085 const double phi,
086 const double dEta,
087 const double dPhi,
088 double& nCells) const;
089
090 double DepositInSubCalo(const CaloCell_ID::CaloSample sample,
091 const double eta,
092 const double phi,
093 const double deltaR) const;
094
095 void getEnergies( const CaloCell_ID::CaloSample sample,
096 const double eta,
097 const double phi) const;
098
099 private:
100
101
102 mutable const CaloCellContainer* m_cellcontainer;
103 std::string m_cellcontainerName;
104 ToolHandle<ITrackEnergyInCaloTool> m_trkEnergyInCalo;
105
106 StoreGateSvc* m_storeGate;
107 const CaloDetDescrManager* m_calo_dd;
108
109
110 int m_outputlevel;
111 mutable MsgStream m_log;
112
113 bool m_doExtr;
114
115 bool m_doHist;
116
117 StatusCode bookHistos();
118
119 ITHistSvc* m_thistSvc;
120
121 TH1F* m_h_surrEnergyEMB;
122 TH1F* m_h_surrEnergyEMC;
123 TH1F* m_h_surrEnergyHEC;
124 TH1F* m_h_surrEnergyTile;
125
126 TH1F* m_h_centEnergyEMB;
127 TH1F* m_h_centEnergyEMC;
128 TH1F* m_h_centEnergyHEC;
129 TH1F* m_h_centEnergyTile;
130
131 TH1F* m_h_EnergyEMB;
132 TH1F* m_h_EnergyEMC;
133 TH1F* m_h_EnergyHEC;
134 TH1F* m_h_EnergyTile;
135
136 };
137
138
139 #endif
Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems |
This page was automatically generated by the
LXR engine.
|
|