|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef EFFICOLLECTION_H_
5 #define EFFICOLLECTION_H_
20 class MuonEfficiencyScaleFactors;
23 class SystematicVariation;
24 class CollectionContainer;
67 unsigned int nBins()
const;
151 unsigned int nBins()
const;
162 std::string
GetBinName(
unsigned int Bin)
const;
181 std::vector<std::shared_ptr<EfficiencyScaleFactor>>
m_SF;
The EffiCollection class handles the 5 different scale-factor maps binned in time.
bool IsForwardBin(unsigned int Bin) const
Checks whether the i-th bin belongs to the forward map.
bool LoadPeriod(unsigned int RunNumber)
SystematicSet * getSystSet() const
Returns the systematic set affecting this collection.
bool IsLowPtBin(unsigned int Bin) const
Checks whether the i-th bin belongs to the low-pt map...
std::shared_ptr< CollectionContainer > m_lowpt_central_eff
@ Central
The five different scale-factor maps.
bool separateBinSyst() const
Class to wrap a set of SystematicVariations.
bool isBinInMap(unsigned int bin) const
Checks if the global bin number belongs to this map.
unsigned int globalOffSet() const
Global offset of the bin numbers.
EffiCollection(const MuonEfficiencyScaleFactors &ref_tool)
bool isOverFlowBin(int b) const
Check whether the bin is overflow or not.
EfficiencyScaleFactor * retrieve(unsigned int RunNumer)
Retrieve the scale-factor map belonging to that particular run of data-taking.
The collection container manages the time binning of a particular scale-factor map.
Select isolated Photons, Electrons and Muons.
std::shared_ptr< CollectionContainer > m_lrt_central_eff
std::shared_ptr< CollectionContainer > m_lowpt_calo_eff
unsigned int nBins() const
Get the number of all bins in the scale-factor maps including the overflow & underflow bins.
std::shared_ptr< CollectionContainer > retrieveContainer(CollectionType Type) const
Method to retrieve a container from the class ordered by a collection type This method is mainly used...
std::string GetBinName(unsigned int Bin) const
Name of the i-th bin.
bool SetSystematicBin(unsigned int Bin)
Activate this bin to run in the uncorrelated systematic mode.
CollectionContainer * FindLRTContainer(const xAOD::Muon &mu) const
unsigned int nBins() const
Number of bins of the map itself.
std::string GetBinName(unsigned int bin) const
Returns the global bin name conststucted from the axis titles and the bin borders.
bool isUpVariation() const
CollectionContainer(const MuonEfficiencyScaleFactors &ref_tool, EffiCollection::CollectionType FileType)
Nominal constructor... Only needs to know about it's type and the file to load.
int FindBinSF(const xAOD::Muon &mu) const
Returns the global bin number corresponding to the muon kinematics.
const MuonEfficiencyScaleFactors & m_ref_tool
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
EfficiencyScaleFactor * retrieveSF(const xAOD::Muon &mu, unsigned int RunNumber) const
return the correct SF type to provide, depending on eta and the author
std::shared_ptr< CollectionContainer > m_forward_eff
EffiCollection::CollectionType type() const
File type of the map.
std::string sysname() const
Returns MUON_EFF_<sysname()>
std::shared_ptr< CollectionContainer > m_calo_eff
static std::string FileTypeName(EffiCollection::CollectionType T)
void SetGlobalOffSet(unsigned int OffSet)
Sets the global offset to align the order in the map into a global numbering scheme.
CollectionContainer * FindContainer(unsigned int bin) const
@ JPsiAnalysis
Distinguish these two because the systematics are named with an extra LOWPT.
std::map< std::string, std::pair< unsigned int, unsigned int > > findPeriods(const MuonEfficiencyScaleFactors &ref_tool) const
std::shared_ptr< CollectionContainer > m_lrt_lowpt_central_eff
std::vector< std::shared_ptr< EfficiencyScaleFactor > > m_SF
bool CheckConsistency()
Consistency check of all scale-factor maps managed by the container instance.
unsigned int nOverFlowBins() const
Number of overflow bins in the map.
bool CheckConsistency()
a consistency check of the scale-factor maps.
std::unique_ptr< SystematicSet > m_syst_set
The systematic set is returned back to the MuonEfficiencyScaleFactors instance to register The known ...
bool isAffectedBySystematic(const SystematicVariation &variation) const
Returns whether the given set has variations affecting this Collection.
EfficiencyScaleFactor * m_currentSF
unsigned int m_binOffSet
Offset to translate between the bin-numbers in the bin numbers of each file against the global bin-nu...
int getUnCorrelatedSystBin(const xAOD::Muon &mu) const
Returns the bin number from which the scale-factor of the muon is going to be retrieved....
EffiCollection::CollectionType m_FileType
std::string fileName(const MuonEfficiencyScaleFactors &ref_tool) const
std::shared_ptr< CollectionContainer > m_central_eff
Make the collection container shared ptr to allow that a systematic EffiCollection can use the same c...
bool SetSystematicBin(unsigned int Bin)
If systematic decorrelation is activated then the user needs to loop manually over the syst bins.
Utility class to manage scale factor histograms Simple container class for scale factor information C...