Commit e1f39ead authored by Scott Snyder's avatar Scott Snyder Committed by Graeme Stewart
Browse files

'Change some FP divisions by constants to multiplications.' (CaloTrkMuIdTools-00-15-14)

	* Tagging CaloTrkMuIdTools-00-15-14.
	* Change some FP divisions by constants to multiplications.
	* Tagging CaloTrkMuIdTools-00-15-13.
	* src/TrackDepositInCaloTool.cxx: clang warning fix: references
	cannot be null.
	* Tagging CaloTrkMuIdTools-00-15-12.
	* Comply with ATLAS naming conventions.
	* Tagging CaloTrkMuIdTools-00-15-11.
	* Fix compilation warnings.

2016-08-22 Jochen Meyer <Jochen.Meyer@cern.ch>
	* endreq -> endmsg
	* tag CaloTrkMuIdTools-00-15-10

2016-08-17 Yun Sang Chow
	* Configuration of CaloTag using histograms
	* CaloTrkMuIdTools-00-15-09
parent 9950b9f1
......@@ -18,6 +18,7 @@ atlas_depends_on_subdirs( PUBLIC
Reconstruction/RecoTools/RecoToolInterfaces
Tracking/TrkExtrapolation/TrkExInterfaces
PRIVATE
Control/AthenaKernel
Calorimeter/CaloDetDescr
Calorimeter/CaloGeoHelpers
Calorimeter/CaloIdentifier
......@@ -44,5 +45,5 @@ atlas_add_component( CaloTrkMuIdTools
# Install files from the package:
atlas_install_headers( CaloTrkMuIdTools )
atlas_install_joboptions( share/*.py )
atlas_install_runtime( share/CaloMuonLikelihood.PDF.A0.root share/CaloMuonLikelihood.PDF.A1.root share/CaloMuonLikelihood.PDF.A2.root share/CaloMuonLikelihood.PDF.B0.root share/CaloMuonLikelihood.PDF.B1.root share/CaloMuonLikelihood.PDF.B2.root share/CaloMuonLikelihood.PDF.C0.root share/CaloMuonLikelihood.PDF.C1.root share/CaloMuonLikelihood.PDF.C2.root )
atlas_install_runtime( share/CaloMuonLikelihood.PDF.A0.root share/CaloMuonLikelihood.PDF.A1.root share/CaloMuonLikelihood.PDF.A2.root share/CaloMuonLikelihood.PDF.B0.root share/CaloMuonLikelihood.PDF.B1.root share/CaloMuonLikelihood.PDF.B2.root share/CaloMuonLikelihood.PDF.C0.root share/CaloMuonLikelihood.PDF.C1.root share/CaloMuonLikelihood.PDF.C2.root share/CaloTag.LooseCut.root share/CaloTag.TightCut.root)
......@@ -46,7 +46,7 @@ private:
const TH1F* m_TH1F_bkg[9][11];
std::string m_TH1F_key[9][11];
int m_numKeys[9];
mutable int cnt_warn;
mutable int m_cnt_warn;
std::vector<std::string> m_fileNames;
std::string m_caloClusterContainerName;
......
......@@ -10,101 +10,68 @@
#include "AthenaBaseComps/AthAlgTool.h"
#include "GaudiKernel/MsgStream.h"
#include "GaudiKernel/ToolHandle.h"
#include "GaudiKernel/ITHistSvc.h"
#include "GaudiKernel/ToolHandle.h"
class TFile;
class TH2F;
class CaloMuonTag : public AthAlgTool, virtual public ICaloMuonTag {
/** @class CaloMuonTag
Muon Tagger in the ATLAS calorimeter.
This tagger is used in the CaloTrkMuId framework. After some basic preselection CaloTrkMuIdAlg
feeds a track to the TrackDepositInCaloTool. TrackDepositInCaloTool gathers the deposits that are found near that
track. This tool can tag a muon track from its deposits.
Applies energy deposition veto cuts in all samplings and noise cuts in the last three layers of the hadronic calorimeter
(Tile and HEC). The following scale factors are applied to correct for the pathlength traversed in the calorimeter cells.
\f$E_{\rm th} = \frac{E^{\mathrm{barrel}}_{0}}{\sin^2 \theta}\f$ for \f$|\eta|<1.7\f$
\f$E_{\rm th} = \frac{E^{\rm end-cap}_{0}}{\ (1 - \sin \theta )^2}\f$ for \f$|\eta|>1.7\f$
There are three tags, determined by the acceptance:
0 not a muon,
1 muon in Last Calo Layer,
2 muon in Last-1 Calo Layer,
3 muon in Last-2 Calo Layer,
@author Gustavo.Ordonez.Sanz <Gustavo.Ordonez.Sanz@cern.ch>
Marcel Raas <marcelra@cern.ch> (contact person)
*/
typedef std::pair<double, double> Range_t;
public:
CaloMuonTag(const std::string& type, const std::string& name, const IInterface* pInterface);
virtual ~CaloMuonTag();
virtual StatusCode initialize();
virtual StatusCode finalize();
int caloMuonTag(const std::vector<DepositInCalo>& deposits, double eta, double pt) const; //!< Returns the Tag
/** @class CaloMuonTag
Muon Tagger in the ATLAS calorimeter.
This tagger is used in the CaloTrkMuId framework. After some basic preselection CaloTrkMuIdAlg
feeds a track to the TrackDepositInCaloTool. TrackDepositInCaloTool gathers the deposits that are found near that
track. This tool can tag a muon track from its deposits.
Applies energy deposition veto cuts in all samplings and noise cuts in the last three layers of the hadronic calorimeter
(Tile and HEC). The following scale factors are applied to correct for the pathlength traversed in the calorimeter cells.
\f$E_{\rm th} = \frac{E^{\mathrm{barrel}}_{0}}{\sin^2 \theta}\f$ for \f$|\eta|<1.7\f$
\f$E_{\rm th} = \frac{E^{\rm end-cap}_{0}}{\ (1 - \sin \theta )^2}\f$ for \f$|\eta|>1.7\f$
There are three tags, determined by the acceptance:
0 not a muon,
1 muon in Last Calo Layer,
2 muon in Last-1 Calo Layer,
3 muon in Last-2 Calo Layer,
@author Gustavo.Ordonez.Sanz <Gustavo.Ordonez.Sanz@cern.ch>
Marcel Raas <marcelra@cern.ch> (contact person)
*/
public:
CaloMuonTag(const std::string& type, const std::string& name, const IInterface* pInterface);
virtual ~CaloMuonTag();
virtual StatusCode initialize();
virtual StatusCode finalize();
int caloMuonTag(const std::vector<DepositInCalo>& deposits, double eta, double pt) const; //!< Returns the Tag
private:
double interpolate(Range_t cuts, double pt) const;
double m_ptMin;
double m_ptMax;
Range_t m_emb1Veto;
Range_t m_emb2Veto;
Range_t m_emb3Veto;
Range_t m_eme1Veto;
Range_t m_eme2Veto;
Range_t m_eme3Veto;
Range_t m_tileBar0Sig;
Range_t m_tileBar1Sig;
Range_t m_tileBar2Sig;
Range_t m_tileExt0Sig;
Range_t m_tileExt1Sig;
Range_t m_tileExt2Sig;
Range_t m_tileBar0Veto;
Range_t m_tileBar1Veto;
Range_t m_tileBar2Veto;
Range_t m_tileExt0Veto;
Range_t m_tileExt1Veto;
Range_t m_tileExt2Veto;
Range_t m_tileBar0DiffLow;
Range_t m_tileBar1DiffLow;
Range_t m_tileBar2DiffLow;
Range_t m_tileExt0DiffLow;
Range_t m_tileExt1DiffLow;
Range_t m_tileExt2DiffLow;
Range_t m_hec0Veto;
Range_t m_hec1Veto;
Range_t m_hec2Veto;
Range_t m_hec3Veto;
Range_t m_hec0Sig;
Range_t m_hec1Sig;
Range_t m_hec2Sig;
Range_t m_hec3Sig;
mutable int m_numTagged;
mutable int m_numRejected;
};
double interpolate(std::string cutName, double pt) const;
int getPtBinLow(double pt) const;
int getCutBin(std::string cutName) const;
TH2F* m_hist;
std::string m_fileNames;
ServiceHandle<ITHistSvc> m_histSvc;
std::vector < std::string > m_vecCutNames;
std::vector < int > m_vecPtBins;
int m_numCuts;
int m_numPtBins;
mutable int m_numTagged;
mutable int m_numRejected;
};
#endif
......@@ -189,27 +189,27 @@ class TrackDepositInCaloTool: public AthAlgTool, virtual public ITrackDepositInC
//mutable int m_stacks; //!< Counts the number of stacks (diagnoses indefinite recursion).
// Histograms
TH1F* hDepositLayer12;
TH1F* hDepositLayer13;
TH1F* hDepositLayer14;
TH1F* m_hDepositLayer12;
TH1F* m_hDepositLayer13;
TH1F* m_hDepositLayer14;
TH2F* hParELossEta;
TH2F* hParELossSample;
TH2F* m_hParELossEta;
TH2F* m_hParELossSample;
///////////////////////////////
TH1F* hDeltaEtaLastPar;
TH1F* hDeltaRadiusLastPar;
TH1F* hDepositsInCore;
TH1F* hDepositsInCone;
TH2F* hDistDepositsTile;
TH2F* hDistDepositsHEC;
TH1F* m_hDeltaEtaLastPar;
TH1F* m_hDeltaRadiusLastPar;
TH1F* m_hDepositsInCore;
TH1F* m_hDepositsInCone;
TH2F* m_hDistDepositsTile;
TH2F* m_hDistDepositsHEC;
TH2F* hEMB1vsdPhi;
TH2F* hEMB2vsdPhi;
TH2F* hEMB3vsdPhi;
TH2F* hEMB1vsdEta;
TH2F* hEMB2vsdEta;
TH2F* hEMB3vsdEta;
TH2F* m_hEMB1vsdPhi;
TH2F* m_hEMB2vsdPhi;
TH2F* m_hEMB3vsdPhi;
TH2F* m_hEMB1vsdEta;
TH2F* m_hEMB2vsdEta;
TH2F* m_hEMB3vsdEta;
};
......
......@@ -18,6 +18,7 @@ use CaloEvent CaloEvent-* Calorimeter
use xAODTracking xAODTracking-* Event/xAOD
private
use AthenaKernel AthenaKernel-* Control
use CaloGeoHelpers CaloGeoHelpers-* Calorimeter
use AtlasCLHEP AtlasCLHEP-* External
use CaloUtils CaloUtils-* Calorimeter
......@@ -40,7 +41,7 @@ apply_pattern component_library
library CaloTrkMuIdTools *.cxx components/*.cxx
apply_pattern declare_joboptions files="*.py"
apply_pattern declare_runtime files="CaloMuonLikelihood.PDF.A0.root CaloMuonLikelihood.PDF.A1.root CaloMuonLikelihood.PDF.A2.root CaloMuonLikelihood.PDF.B0.root CaloMuonLikelihood.PDF.B1.root CaloMuonLikelihood.PDF.B2.root CaloMuonLikelihood.PDF.C0.root CaloMuonLikelihood.PDF.C1.root CaloMuonLikelihood.PDF.C2.root"
apply_pattern declare_runtime files="CaloMuonLikelihood.PDF.A0.root CaloMuonLikelihood.PDF.A1.root CaloMuonLikelihood.PDF.A2.root CaloMuonLikelihood.PDF.B0.root CaloMuonLikelihood.PDF.B1.root CaloMuonLikelihood.PDF.B2.root CaloMuonLikelihood.PDF.C0.root CaloMuonLikelihood.PDF.C1.root CaloMuonLikelihood.PDF.C2.root CaloTag.TightCut.root CaloTag.LooseCut.root"
#private
#macro cppdebugflags '$(cppdebugflags_s)'
......
include.block("CaloTag_Comm_jobOptions.py")
CaloMuonTagLoose.ptMin = 15000
CaloMuonTagLoose.ptMax = 35000
CaloMuonTagLoose.emb1Veto = ( 400, 800 )
CaloMuonTagLoose.emb2Veto = ( 700, 1400 )
CaloMuonTagLoose.emb3Veto = ( 500, 600 )
CaloMuonTagLoose.eme1Veto = ( 1100, 1300 )
CaloMuonTagLoose.eme2Veto = ( 2200, 2100 )
CaloMuonTagLoose.eme3Veto = ( 1100, 1100 )
CaloMuonTagLoose.tileBar0Sig = ( 0, -400 )
CaloMuonTagLoose.tileBar1Sig = ( 100, -1500 )
CaloMuonTagLoose.tileBar2Sig = ( 0, -400 )
CaloMuonTagLoose.tileExt0Sig = ( -50, -500 )
CaloMuonTagLoose.tileExt1Sig = ( 200, -600 )
CaloMuonTagLoose.tileExt2Sig = ( 150, -1200 )
CaloMuonTagLoose.tileBar0Veto = ( 3500, 8000 )
CaloMuonTagLoose.tileBar1Veto = ( 3500, 8000 )
CaloMuonTagLoose.tileBar2Veto = ( 3500, 8000 )
CaloMuonTagLoose.tileExt0Veto = ( 3000, 7000 )
CaloMuonTagLoose.tileExt1Veto = ( 3500, 9000 )
CaloMuonTagLoose.tileExt2Veto = ( 3500, 9000 )
CaloMuonTagLoose.tileBar0DiffLow = (-400, -1100 )
CaloMuonTagLoose.tileBar1DiffLow = (-650, -1300 )
CaloMuonTagLoose.tileBar2DiffLow = (-400, -1100 )
CaloMuonTagLoose.tileExt0DiffLow = (-600, -1100 )
CaloMuonTagLoose.tileExt1DiffLow = (-600, -1500 )
CaloMuonTagLoose.tileExt2DiffLow = (-600, -1600 )
CaloMuonTagLoose.hec0Veto = (2500, 9000 )
CaloMuonTagLoose.hec1Veto = (3000, 9000 )
CaloMuonTagLoose.hec2Veto = (3000, 9000 )
CaloMuonTagLoose.hec3Veto = (3000, 9000 )
CaloMuonTagLoose.hec0Sig = (-50, -1100 )
CaloMuonTagLoose.hec1Sig = (-50, -1100 )
CaloMuonTagLoose.hec2Sig = (0, -1100 )
CaloMuonTagLoose.hec3Sig = (150, -1100 )
......@@ -12,6 +12,7 @@ from AthenaCommon.Logging import log
###############################################################################
# Finds the root file @rootFileName and creates a one-item list for THistSvc.Input
###############################################################################
def defineCaloLhrPdf(rootFileName, streamName=""):
import os
from AthenaCommon.Utils.unixtools import FindFile
......@@ -25,7 +26,12 @@ def defineCaloLhrPdf(rootFileName, streamName=""):
else:
raise ValueError("in CaloTrkMuIdTools_jobOptions.py: defineCaloLhrPdf(...): rootFileName: " + rootFileName + " is not an expected value (should be CaloMuonLikelihood.PDF.xx.root).")
return [streamName + " DATAFILE='" + str(rootFile) + "' TYP='ROOT' OPT='READ'"]
def defineCaloTagCut(rootFileName, streamName="CaloTag"):
import os
from AthenaCommon.Utils.unixtools import FindFile
rootFile = FindFile(filename=rootFileName, pathlist=os.environ['DATAPATH'].split(os.pathsep), access=os.R_OK)
return [streamName + " DATAFILE='" + str(rootFile) + "' TYP='ROOT' OPT='READ'"]
###############################################################################
## jobOptions
###############################################################################
......@@ -74,6 +80,8 @@ if athenaCommonFlags.isOnline == False:
ServiceMgr.THistSvc.Input += defineCaloLhrPdf("CaloMuonLikelihood.PDF.C0.root"); ### PDFs for endcap region low pT
ServiceMgr.THistSvc.Input += defineCaloLhrPdf("CaloMuonLikelihood.PDF.C1.root"); ### PDFs for endcap region medium pT
ServiceMgr.THistSvc.Input += defineCaloLhrPdf("CaloMuonLikelihood.PDF.C2.root"); ### PDFs for endcap region high pT
ServiceMgr.THistSvc.Input += defineCaloTagCut("CaloTag.LooseCut.root","CaloTagLoose"); ### Cut definition for CaloTag (Loose)
ServiceMgr.THistSvc.Input += defineCaloTagCut("CaloTag.TightCut.root","CaloTagTight"); ### Cut definition for CaloTag (Tight)
### Configure TrackEnergyInCaloTool ###
from CaloTrkMuIdTools.CaloTrkMuIdToolsConf import TrackEnergyInCaloTool as ConfiguredTrackEnergyInCaloTool
......@@ -89,9 +97,6 @@ ToolSvc += TrackDepositInCaloTool
from CaloTrkMuIdTools.CaloTrkMuIdToolsConf import CaloMuonTag as ConfiguredCaloMuonTag
CaloMuonTagLoose = ConfiguredCaloMuonTag(name = "CaloMuonTagLoose")
ToolSvc += CaloMuonTagLoose
### Sets loose cuts for CaloMuonTagLoose ###
include("CaloTrkMuIdTools/CaloMuonTag_Comm_jobOptions.py")
print CaloMuonTagLoose
### Configure CaloMuonTag (tight is default) ###
......
......@@ -5,7 +5,6 @@
#include "CaloTrkMuIdTools/CaloMuonLikelihoodTool.h"
#include "xAODCaloEvent/CaloCluster.h"
#include "CLHEP/Units/SystemOfUnits.h"
#include "GaudiKernel/ISvcLocator.h"
#include "GaudiKernel/IToolSvc.h"
#include "GaudiKernel/ListItem.h"
......@@ -13,6 +12,7 @@
#include "GaudiKernel/Algorithm.h"
#include "PathResolver/PathResolver.h"
#include "CaloIdentifier/CaloCell_ID.h"
#include "AthenaKernel/Units.h"
///////////for re_obtain//
//#include "GaudiKernel/ITHistSvc.h"
......@@ -27,6 +27,9 @@
#include <map>
namespace Units = Athena::Units;
///////////////////////////////////////////////////////////////////////////////
// CaloMuonLikelihoodTool constructor
///////////////////////////////////////////////////////////////////////////////
......@@ -95,7 +98,7 @@ StatusCode sc;
ITHistSvc *tHistSvc;
sc = service("THistSvc", tHistSvc);
if ( sc.isFailure() ) {
report << MSG::ERROR << "Unable to retrieve pointer to THistSvc" << endreq;
report << MSG::ERROR << "Unable to retrieve pointer to THistSvc" << endmsg;
return sc;
}
......@@ -273,7 +276,7 @@ StatusCode CaloMuonLikelihoodTool::retrieveHistograms() {
}
cnt_warn = 0;
m_cnt_warn = 0;
return StatusCode::SUCCESS;
}
......@@ -460,14 +463,14 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
<< "\n ehec3: " << s[20]
<< "\n efcal0: " << s[21]
<< "\n efcal1: " << s[22]
<< "\n efcal2: " << s[23] << endreq;
<< "\n efcal2: " << s[23] << endmsg;
}
// CLHEP::MeV to CLHEP::GeV
for(int i=0;i<24;++i) s[i] /= CLHEP::GeV;
etot_em /= CLHEP::GeV;
etot_hd /= CLHEP::GeV;
etot /= CLHEP::GeV;
// CLHEP::MeV to Units::GeV
for(int i=0;i<24;++i) s[i] /= Units::GeV;
etot_em /= Units::GeV;
etot_hd /= Units::GeV;
etot /= Units::GeV;
double tmp_mx(-999), tmp_mxH(-999), tmp_mxE(-999);
for (int i=0; i<24; ++i) {
......@@ -495,7 +498,7 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
// p_trk in MeV
if (p_trk)
EoverEtrk = etot/(p_trk/CLHEP::GeV);
EoverEtrk = etot/(p_trk/Units::GeV);
if(etot_em>0) {
eemb3_wrtGroup = s[3]/etot_em;
......@@ -537,7 +540,7 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
if(fabs(eta_trk)<1.4) {
if(p_trk/CLHEP::GeV<11.) {
if(p_trk/Units::GeV<11.) {
m_h_EoverEtrk_11B->Fill(EoverEtrk, 1.);
m_h_eemb1_wrtTotal_11B->Fill(eemb1_wrtTotal, 1.);
m_h_eemb2_wrtTotal_11B->Fill(eemb2_wrtTotal, 1.);
......@@ -549,52 +552,52 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
m_h_mxEM_11B->Fill(mxEM, 1.);
m_h_mxFr_11B->Fill(mxFr, 1.);
m_h_mxHad_11B->Fill(mxHad, 1.);
report << MSG::DEBUG << "EoverEtrk_11B ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_11B ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_11B ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_11B ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_11B ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_11B ="<< eta_trk << endmsg;
}
else if(p_trk/CLHEP::GeV<51.) {
else if(p_trk/Units::GeV<51.) {
m_h_EoverEtrk_51B->Fill(EoverEtrk, 1.);
report << MSG::DEBUG << "EoverEtrk_51B ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_51B ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_51B ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_51B ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_51B ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_51B ="<< eta_trk << endmsg;
}
else {
m_h_EoverEtrk_101B->Fill(EoverEtrk, 1.);
report << MSG::DEBUG << "EoverEtrk_101B ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_101B ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_101B ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_101B ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_101B ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_101B ="<< eta_trk << endmsg;
}
}
else if(fabs(eta_trk)>=1.4&&fabs(eta_trk)<=1.6) {
if(p_trk/CLHEP::GeV<11.){
if(p_trk/Units::GeV<11.){
m_h_EoverEtrk_11C->Fill(EoverEtrk, 1.);
m_h_eeme1_wrtTotal_11C->Fill(eeme1_wrtTotal, 1.);
m_h_eeme2_wrtTotal_11C->Fill(eeme2_wrtTotal, 1.);
m_h_emFr_11C->Fill(emFr, 1.);
m_h_mxEM_11C->Fill(mxEM, 1.);
m_h_mxHad_11C->Fill(mxHad, 1.);
report << MSG::DEBUG << "EoverEtrk_11C ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_11C ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_11C ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_11C ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_11C ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_11C ="<< eta_trk << endmsg;
}
else if(p_trk/CLHEP::GeV<51.){
else if(p_trk/Units::GeV<51.){
m_h_EoverEtrk_51C->Fill(EoverEtrk, 1.);
report << MSG::DEBUG << "EoverEtrk_51C ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_51C ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_51C ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_51C ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_51C ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_51C ="<< eta_trk << endmsg;
}
else {
m_h_EoverEtrk_101C->Fill(EoverEtrk, 1.);
report << MSG::DEBUG << "EoverEtrk_101C ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_101C ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_101C ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_101C ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_101C ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_101C ="<< eta_trk << endmsg;
}
}
else if(fabs(eta_trk)>1.6&&fabs(eta_trk)<2.5) {
if(p_trk/CLHEP::GeV<11.){
if(p_trk/Units::GeV<11.){
m_h_EoverEtrk_11E->Fill(EoverEtrk, 1.);
m_h_eeme1_wrtGroup_11E->Fill(eeme1_wrtGroup, 1.);
m_h_eeme2_wrtTotal_11E->Fill(eeme2_wrtTotal, 1.);
......@@ -604,15 +607,15 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
m_h_mxEM_11E->Fill(mxEM, 1.);
m_h_mxFr_11E->Fill(mxFr, 1.);
m_h_mxHad_11E->Fill(mxHad, 1.);
report << MSG::DEBUG << "EoverEtrk_11E ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_11E ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_11E ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_11E ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_11E ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_11E ="<< eta_trk << endmsg;
}
else if(p_trk/CLHEP::GeV<51.){
else if(p_trk/Units::GeV<51.){
m_h_EoverEtrk_51E->Fill(EoverEtrk, 1.);
report << MSG::DEBUG << "EoverEtrk_51E ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_51E ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_51E ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_51E ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_51E ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_51E ="<< eta_trk << endmsg;
}
else {
m_h_EoverEtrk_101E->Fill(EoverEtrk, 1.);
......@@ -624,9 +627,9 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
m_h_mxEM_101E->Fill(mxEM, 1.);
m_h_mxFr_101E->Fill(mxFr, 1.);
m_h_mxHad_101E->Fill(mxHad, 1.);
report << MSG::DEBUG << "EoverEtrk_101E ="<< EoverEtrk << endreq;
report << MSG::DEBUG << "p_trk/GeV_101E ="<< p_trk/CLHEP::GeV << endreq;
report << MSG::DEBUG << "eta_trk_101E ="<< eta_trk << endreq;
report << MSG::DEBUG << "EoverEtrk_101E ="<< EoverEtrk << endmsg;
report << MSG::DEBUG << "p_trk/GeV_101E ="<< p_trk/Units::GeV << endmsg;
report << MSG::DEBUG << "eta_trk_101E ="<< eta_trk << endmsg;
}
}
///////////////////filling end////////nesli end/////////////////
......@@ -638,18 +641,18 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
int iFile = -1;
if(fabs(eta_trk)<1.4) {
if(p_trk/CLHEP::GeV<11.) iFile = 0;
else if(p_trk/CLHEP::GeV<51.) iFile = 1;
if(p_trk/Units::GeV<11.) iFile = 0;
else if(p_trk/Units::GeV<51.) iFile = 1;
else iFile = 2;
}
else if(fabs(eta_trk)>=1.4&&fabs(eta_trk)<=1.6) {
if(p_trk/CLHEP::GeV<11.) iFile = 3;
else if(p_trk/CLHEP::GeV<51.) iFile = 4;
if(p_trk/Units::GeV<11.) iFile = 3;
else if(p_trk/Units::GeV<51.) iFile = 4;
else iFile = 5;
}
else if(fabs(eta_trk)>1.6&&fabs(eta_trk)<2.5) {
if(p_trk/CLHEP::GeV<11.) iFile = 6;
else if(p_trk/CLHEP::GeV<51.) iFile = 7;
if(p_trk/Units::GeV<11.) iFile = 6;
else if(p_trk/Units::GeV<51.) iFile = 7;
else iFile = 8;
}
......@@ -683,7 +686,7 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
if(SbinContent)
ProbS *= SbinContent;
//else
// report << MSG::DEBUG << " BinContent in m_TH1F_sig is 0 and will not be used! "<<ProbS<<endreq;
// report << MSG::DEBUG << " BinContent in m_TH1F_sig is 0 and will not be used! "<<ProbS<<endmsg;
/// nesli /// modified 11.03.08////////
else {
ProbS *= 0.0000001;
......@@ -709,7 +712,7 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
if(BbinContent)
ProbB *= BbinContent;
//else
// report << MSG::VERBOSE << " BinContent in m_TH1F_bkg is 0 and will not be used! "<<ProbS<<endreq;
// report << MSG::VERBOSE << " BinContent in m_TH1F_bkg is 0 and will not be used! "<<ProbS<<endmsg;
/// nesli///modified 07.03.08//////
else {
ProbB *= 0.0000001;
......@@ -723,9 +726,9 @@ double CaloMuonLikelihoodTool::getLHR(const xAOD::CaloClusterContainer* ClusColl
ATH_MSG_DEBUG(" Temp ProbB: " << ProbB);
}
else {
if(cnt_warn<10) {
if(m_cnt_warn<10) {
ATH_MSG_WARNING("Histogram variable <" << m_TH1F_key[iFile][i] << "> in file <" << m_fileNames[iFile] << "> is not found in the calculated variable list");
cnt_warn++;
m_cnt_warn++;
}
}
}
......
......@@ -271,10 +271,14 @@ std::vector<DepositInCalo> TrackDepositInCaloTool::getDeposits(const xAOD::Track
const Trk::CaloExtension& caloExtension = association->caloExtension();