Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
atlas
athena
Commits
cc95fb27
Commit
cc95fb27
authored
Apr 08, 2016
by
Atlas-Software Librarian
Committed by
Graeme Stewart
Sep 19, 2014
Browse files
'CMakeLists.txt' (PanTauUtils-00-04-00)
parent
624a749e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Reconstruction/PanTau/PanTauUtils/CMakeLists.txt
0 → 100644
View file @
cc95fb27
################################################################################
# Package: PanTauUtils
################################################################################
# Declare the package name:
atlas_subdir
(
PanTauUtils
)
# Declare the package's dependencies:
atlas_depends_on_subdirs
(
PUBLIC
Reconstruction/PanTau/PanTauEvent
PRIVATE
GaudiKernel
PhysicsAnalysis/TauID/TauTrackEvent
Reconstruction/tauEvent
)
# Component(s) in the package:
atlas_add_library
(
PanTauUtils
src/*.cxx
PUBLIC_HEADERS PanTauUtils
LINK_LIBRARIES PanTauEvent
PRIVATE_LINK_LIBRARIES GaudiKernel TauTrackEvent tauEvent
)
Reconstruction/PanTau/PanTauUtils/PanTauUtils/TauClassificationUtility.h
0 → 100644
View file @
cc95fb27
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// TauClassificationUtility.h, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#ifndef PANTAUALGS_TAUCLASSIFICATIONUTILITY_H
#define PANTAUALGS_TAUCLASSIFICATIONUTILITY_H
#include "PanTauEvent/TauClassificationTypes.h" // enum
//#include "GaudiKernel/MsgStream.h"
class
MsgStream
;
namespace
TauID
{
class
TruthTau
;
}
namespace
Analysis
{
class
TauJet
;
}
namespace
PanTau
{
class
TauSeed
;
/** @class TauClassificationUtility
This utility classifies TruthTaus, TauSeeds and TauJets.
@author Sebastian Fleischmann <Sebastian.Fleischmann@cern.ch>
*/
class
TauClassificationUtility
{
public:
/** Standard Constructor */
TauClassificationUtility
()
{};
/** Default Destructor */
~
TauClassificationUtility
()
{};
/** get truth tau type */
TauClassificationTypes
::
TruthTauType
getTruthTauType
(
const
TauID
::
TruthTau
&
truthTau
,
MsgStream
&
log
)
const
;
/** get tau seed type */
TauClassificationTypes
::
PanTauRecoMode
getSeedTauType
(
const
PanTau
::
TauSeed
&
seed
,
MsgStream
&
log
)
const
;
/** get tau seed type of TauJet*/
TauClassificationTypes
::
PanTauRecoMode
getSeedTauType
(
const
Analysis
::
TauJet
&
tauJet
,
MsgStream
&
log
)
const
;
};
}
// end of namespace
#endif //PANTAUALGS_TAUCLASSIFICATIONUTILITY_H
Reconstruction/PanTau/PanTauUtils/cmt/requirements
0 → 100644
View file @
cc95fb27
package
PanTauUtils
author
Sebastian
Fleischmann
<
sebastian
.
fleischmann
@
cern
.
ch
>
use
AtlasPolicy
AtlasPolicy
-*
use
PanTauEvent
PanTauEvent
-*
Reconstruction
/
PanTau
private
use
GaudiInterface
GaudiInterface
-*
External
use
tauEvent
tauEvent
-*
Reconstruction
use
TauTrackEvent
TauTrackEvent
-*
PhysicsAnalysis
/
TauID
public
apply_pattern
installed_library
library
PanTauUtils
*.
cxx
private
#
macro
cppdebugflags
'$(cppdebugflags_s)'
#
macro_remove
componentshr_linkopts
"-Wl,-s"
Reconstruction/PanTau/PanTauUtils/doc/mainpage.h
0 → 100644
View file @
cc95fb27
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/**
* @mainpage The PanTauUtils package
* The utils package for PanTau.
*
* @author Sebastian.Fleischmann@cern.ch
*
* @section introductionPanTauUtils Introduction
*
* This package contains the utility classes for PanTau.
*
* @section PanTauUtilsOverview Class Overview
* The PanTauUtils package contains the following classes:
*
* - PanTau::TauClassificationUtility : Classifies TauSeeds and TruthTaus
*
* @section ExtrasPanTauUtils Extra Pages
*
* - @ref UsedPanTauUtils
* - @ref requirementsPanTauUtils
* */
/**
* @page UsedPanTauUtils Used Packages
* @htmlinclude used_packages.html
* */
/**
* @page requirementsPanTauUtils Requirements
* @include requirements
* */
Reconstruction/PanTau/PanTauUtils/src/TauClassificationUtility.cxx
0 → 100644
View file @
cc95fb27
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// TauClassificationUtility.cxx, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#include "PanTauEvent/TauSeed.h"
#include "TauTrackEvent/TruthTau.h"
#include "PanTauUtils/TauClassificationUtility.h"
#include "GaudiKernel/MsgStream.h"
#include "tauEvent/TauJet.h"
#include "PanTauEvent/PanTauDetails.h"
PanTau
::
TauClassificationTypes
::
TruthTauType
PanTau
::
TauClassificationUtility
::
getTruthTauType
(
const
TauID
::
TruthTau
&
truthTau
,
MsgStream
&
log
)
const
{
TauClassificationTypes
::
TruthTauType
truthTypeIndex
=
TauClassificationTypes
::
NumberOfTruthTauTypes
;
// For the moment we put all decays with Kaons in the Kaon class and do not count them as 1- or 3-prong!
if
(
truthTau
.
type
(
TauID
::
TruthTau
::
Kaon
))
{
truthTypeIndex
=
TauClassificationTypes
::
TruthKaon
;
}
else
if
(
truthTau
.
type
(
TauID
::
TruthTau
::
OneProng
))
{
truthTypeIndex
=
(
truthTau
.
type
(
TauID
::
TruthTau
::
Neutrals
)
?
TauClassificationTypes
::
TruthOneProngNeutrals
:
TauClassificationTypes
::
TruthOneProng
);
}
else
if
(
truthTau
.
type
(
TauID
::
TruthTau
::
ThreeProng
))
{
truthTypeIndex
=
(
truthTau
.
type
(
TauID
::
TruthTau
::
Neutrals
)
?
TauClassificationTypes
::
TruthThreeProngNeutrals
:
TauClassificationTypes
::
TruthThreeProng
);
}
else
if
(
truthTau
.
type
(
TauID
::
TruthTau
::
Electron
))
{
truthTypeIndex
=
TauClassificationTypes
::
TruthElectron
;
}
else
if
(
truthTau
.
type
(
TauID
::
TruthTau
::
Muon
))
{
truthTypeIndex
=
TauClassificationTypes
::
TruthMuon
;
}
else
if
(
truthTau
.
type
(
TauID
::
TruthTau
::
FiveProng
))
{
truthTypeIndex
=
TauClassificationTypes
::
TruthOther
;
}
else
{
log
<<
MSG
::
WARNING
<<
"Something is wrong, could not identify truth tau type of "
<<
truthTau
.
dumpType
()
<<
" BC ="
<<
truthTau
.
barcode
()
<<
endreq
;
log
<<
MSG
::
WARNING
<<
"Resonance: "
<<
truthTau
.
resonancePdgId
()
<<
", charged daughters: "
<<
endreq
;
std
::
vector
<
const
TruthParticle
*
>::
const_iterator
chargedProdIter
=
truthTau
.
chargedProducts
().
begin
();
for
(;
chargedProdIter
!=
truthTau
.
chargedProducts
().
end
();
chargedProdIter
++
)
{
log
<<
MSG
::
WARNING
<<
" * BC "
<<
(
*
chargedProdIter
)
->
barcode
()
<<
", PDG ID "
<<
(
*
chargedProdIter
)
->
pdgId
()
<<
endreq
;
}
}
return
truthTypeIndex
;
}
PanTau
::
TauClassificationTypes
::
PanTauRecoMode
PanTau
::
TauClassificationUtility
::
getSeedTauType
(
const
PanTau
::
TauSeed
&
seed
,
MsgStream
&
log
)
const
{
TauClassificationTypes
::
PanTauRecoMode
seedTypeIndex
=
seed
.
getRecoModeLoose
();
log
<<
MSG
::
VERBOSE
<<
"tau type is: "
<<
seedTypeIndex
<<
endreq
;
return
seedTypeIndex
;
}
PanTau
::
TauClassificationTypes
::
PanTauRecoMode
PanTau
::
TauClassificationUtility
::
getSeedTauType
(
const
Analysis
::
TauJet
&
tauJet
,
MsgStream
&
log
)
const
{
TauClassificationTypes
::
PanTauRecoMode
candTypeIndex
=
TauClassificationTypes
::
Reco_Error
;
const
PanTauDetails
*
tauDetails
=
tauJet
.
details
<
PanTauDetails
>
();
if
(
tauDetails
)
{
// the PanTau case: Use PanTau::TauSeed to identify the type
const
TauSeed
*
tauSeed
=
tauDetails
->
seed
();
if
(
!
tauSeed
)
{
log
<<
MSG
::
WARNING
<<
"Could not get TauSeed for PanTau TauJet! Cannot identify its reconstructed type"
<<
endreq
;
}
else
{
candTypeIndex
=
this
->
getSeedTauType
(
*
tauSeed
,
log
);
}
// end if (!tauSeed)
}
return
candTypeIndex
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment