ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
CP::EffiCollection Class Referencefinal

The EffiCollection class handles the 5 different scale-factor maps binned in time. More...

#include <EffiCollection.h>

Collaboration diagram for CP::EffiCollection:

Public Types

enum  CollectionType {
  Central = 1, Calo = 1<<1, Forward = 1<<2, CentralLowPt = 1<<3,
  CaloLowPt = 1<<4, ZAnalysis = Central | Calo | Forward, JPsiAnalysis = CentralLowPt | CaloLowPt
}
 
enum  Systematic { Symmetric = 1<<6, PtDependent = 1<<7, UnCorrelated = 1<<8, UpVariation = 1<<9 }
 

Public Member Functions

 EffiCollection (const MuonEfficiencyScaleFactors &ref_tool)
 
 EffiCollection (const EffiCollection *Nominal, const MuonEfficiencyScaleFactors &ref_tool, const std::string &syst, int syst_bit_map, bool is_up)
 Constructor with nominal as fallback.. More...
 
EfficiencyScaleFactorretrieveSF (const xAOD::Muon &mu, unsigned int RunNumber) const
 return the correct SF type to provide, depending on eta and the author More...
 
bool CheckConsistency ()
 a consistency check of the scale-factor maps. More...
 
unsigned int nBins () const
 Get the number of all bins in the scale-factor maps including the overflow & underflow bins. More...
 
bool SetSystematicBin (unsigned int Bin)
 If systematic decorrelation is activated then the user needs to loop manually over the syst bins. More...
 
bool IsLowPtBin (unsigned int Bin) const
 Checks whether the i-th bin belongs to the low-pt map... More...
 
bool IsForwardBin (unsigned int Bin) const
 Checks whether the i-th bin belongs to the forward map. More...
 
std::string GetBinName (unsigned int bin) const
 Returns the global bin name conststucted from the axis titles and the bin borders. More...
 
int getUnCorrelatedSystBin (const xAOD::Muon &mu) const
 Returns the bin number from which the scale-factor of the muon is going to be retrieved... More...
 
SystematicSetgetSystSet () const
 Returns the systematic set affecting this collection. More...
 
bool isAffectedBySystematic (const SystematicVariation &variation) const
 Returns whether the given set has variations affecting this Collection. More...
 
bool isAffectedBySystematic (const SystematicSet &set) const
 
std::shared_ptr< CollectionContainerretrieveContainer (CollectionType Type) const
 Method to retrieve a container from the class ordered by a collection type This method is mainly used to propagate the nominal maps to the variations as fallback maps if no variation has been defined in this situation. More...
 

Static Public Member Functions

static std::string FileTypeName (EffiCollection::CollectionType T)
 

Private Member Functions

CollectionContainerFindContainer (unsigned int bin) const
 
CollectionContainerFindContainer (const xAOD::Muon &mu) const
 
CollectionContainerFindLRTContainer (const xAOD::Muon &mu) const
 

Private Attributes

const MuonEfficiencyScaleFactorsm_ref_tool
 
std::shared_ptr< CollectionContainerm_central_eff
 Make the collection container shared ptr to allow that a systematic EffiCollection can use the same container as the nominal one if the current systematic has no effect on that particular container.... More...
 
std::shared_ptr< CollectionContainerm_calo_eff
 
std::shared_ptr< CollectionContainerm_forward_eff
 
std::shared_ptr< CollectionContainerm_lowpt_central_eff
 
std::shared_ptr< CollectionContainerm_lowpt_calo_eff
 
std::shared_ptr< CollectionContainerm_lrt_central_eff
 
std::shared_ptr< CollectionContainerm_lrt_lowpt_central_eff
 
std::unique_ptr< SystematicSetm_syst_set
 The systematic set is returned back to the MuonEfficiencyScaleFactors instance to register The known systematics to the global service. More...
 

Detailed Description

The EffiCollection class handles the 5 different scale-factor maps binned in time.

Each muon is piped to the correct map based whether it's a calo-tag muon, belongs to the high-eta region or has low-pt. There exists one instance of the EffiCollection foreach systematic variation and nominal. Scale-factor maps which are not affected by a systematic, especially in the case of common vs. low-pt, are taken from the Nominal maps.

Definition at line 29 of file EffiCollection.h.

Member Enumeration Documentation

◆ CollectionType

Enumerator
Central 

The five different scale-factor maps.

Calo 
Forward 
CentralLowPt 
CaloLowPt 
ZAnalysis 
JPsiAnalysis 

Distinguish these two because the systematics are named with an extra LOWPT.

Definition at line 37 of file EffiCollection.h.

37  {
39  Central = 1,
40  Calo = 1<<1,
41  Forward = 1<<2,
42  CentralLowPt = 1<<3,
43  CaloLowPt = 1<<4,
44 
49 
50 
51  };

◆ Systematic

Enumerator
Symmetric 
PtDependent 
UnCorrelated 
UpVariation 

Definition at line 52 of file EffiCollection.h.

52  {
53  Symmetric = 1<<6,
54  PtDependent = 1<<7,
55  UnCorrelated = 1<<8,
56  UpVariation = 1<<9,
57  };

Constructor & Destructor Documentation

◆ EffiCollection() [1/2]

CP::EffiCollection::EffiCollection ( const MuonEfficiencyScaleFactors ref_tool)
explicit

Definition at line 17 of file EffiCollection.cxx.

17  :
18  m_ref_tool(ref_tool),
19  m_central_eff(),
20  m_calo_eff(),
21  m_forward_eff(),
26  m_syst_set(std::make_unique<SystematicSet>()){
27 
28  m_central_eff = std::make_shared<CollectionContainer>(m_ref_tool, CollectionType::Central);
30  m_calo_eff = std::make_shared<CollectionContainer>(m_ref_tool,CollectionType::Calo);
31  } else m_calo_eff = m_central_eff;
32 
34  m_forward_eff = std::make_shared<CollectionContainer>(m_ref_tool,CollectionType::Forward);
36 
38  m_lowpt_central_eff = std::make_shared<CollectionContainer>(m_ref_tool,CollectionType::CentralLowPt);
40 
42  m_lowpt_calo_eff = std::make_shared<CollectionContainer>(m_ref_tool, CollectionType::CaloLowPt);
44 
45  if(m_ref_tool.use_lrt()) {
47  m_lrt_central_eff = std::make_shared<CollectionContainer>(m_ref_tool,CollectionType::Central);
48  }
49  else {
51  }
52  if (m_ref_tool.lowPtTransition() > 0 ) {
55  }
58  }
59  else {
60  m_lrt_lowpt_central_eff = std::make_shared<CollectionContainer>(m_ref_tool,CollectionType::CentralLowPt);
61  }
62  }
63  else {
65  }
66  }
67  }

◆ EffiCollection() [2/2]

CP::EffiCollection::EffiCollection ( const EffiCollection Nominal,
const MuonEfficiencyScaleFactors ref_tool,
const std::string &  syst,
int  syst_bit_map,
bool  is_up 
)

Constructor with nominal as fallback..

Use a lambda function to assign the maps easily

Only the Z reconstruction analysis has different files for bulk / calo-tag / low-pt and forward eta

Definition at line 69 of file EffiCollection.cxx.

69  :
70  m_ref_tool(ref_tool),
71  m_central_eff(),
72  m_calo_eff(),
73  m_forward_eff(),
78  m_syst_set() {
79 
80  if (is_up) syst_bit_map |= EffiCollection::UpVariation;
82  std::function< std::shared_ptr<CollectionContainer>(CollectionType)> make_variation = [this,&ref_tool, Nominal, syst_bit_map, syst](CollectionType type){
83  if (syst_bit_map & type) {
84  return std::make_shared<CollectionContainer>(ref_tool,
85  Nominal->retrieveContainer(type).get(),
86  syst, syst_bit_map); }
88  if (ref_tool.measurement() != MuonEfficiencyType::Reco) return m_central_eff;
89  return Nominal->retrieveContainer(type);
90  };
91  m_central_eff = make_variation(CollectionType::Central);
92  m_forward_eff = make_variation(CollectionType::Forward);
93  m_calo_eff = make_variation(CollectionType::Calo);
94  m_lowpt_central_eff = make_variation(CollectionType::CentralLowPt);
95  m_lowpt_calo_eff = make_variation(CollectionType::CaloLowPt);
96  if (m_ref_tool.use_lrt()) {
97  m_lrt_central_eff = make_variation(CollectionType::Central);
98  m_lrt_lowpt_central_eff = make_variation(CollectionType::CentralLowPt);
99  }
100 
101 
102  }

Member Function Documentation

◆ CheckConsistency()

bool CP::EffiCollection::CheckConsistency ( )

a consistency check of the scale-factor maps.

All scale-factor maps must be present and there must no overlapping periods to pass this test.

At this stage we know that all efficiencies have been loaded successfully. We need to now to order the maps to make global bin numbers

Systematic constructor has been called. We can now assemble the systematic variations

Let the world implode... Yeaha register foreach bin a systematic variation

Definition at line 112 of file EffiCollection.cxx.

112  {
113  if (!m_central_eff || !m_central_eff->CheckConsistency()) {
114  Error("EffiCollection()", "Consistency check for central file failed");
115  return false;
116  }
117  if (!m_calo_eff || !m_calo_eff->CheckConsistency()) {
118  Error("EffiCollection()", "Consistency check for calo file failed");
119  return false;
120  }
121  if (!m_forward_eff || !m_forward_eff->CheckConsistency()) {
122  Error("EffiCollection()", "Consistency check for forward file failed");
123  return false;
124  }
125  if (!m_lowpt_central_eff || !m_lowpt_central_eff->CheckConsistency()) {
126  Error("EffiCollection()", "Consistency check for low-pt file failed");
127  return false;
128  }
129  if (!m_lowpt_calo_eff || !m_lowpt_calo_eff->CheckConsistency()) {
130  Error("EffiCollection()", "Consistency check for low-pt calo file failed");
131  return false;
132  }
133  if (m_ref_tool.use_lrt()) {
134  if (!m_lrt_central_eff || !m_lrt_central_eff->CheckConsistency()) {
135  Error("EffiCollection()", "Consistency check for LRT central file failed");
136  return false;
137  }
138  if (!m_lrt_lowpt_central_eff || !m_lrt_lowpt_central_eff->CheckConsistency()) {
139  Error("EffiCollection()", "Consistency check for LRT low-pt file failed");
140  return false;
141  }
142  }
146  unsigned int n = m_central_eff->nBins();
147  std::function<void (CollectionContainer*)> assign_mapping = [this, &n](CollectionContainer* container){
148  if (container != m_central_eff.get() && container->separateBinSyst()){
149  container->SetGlobalOffSet(n);
150  n += container->nBins();
151  };
152  };
153  assign_mapping(m_calo_eff.get());
154  assign_mapping(m_calo_eff.get());
155  assign_mapping(m_lowpt_central_eff.get());
156  assign_mapping(m_lowpt_calo_eff.get());
157 
158  assign_mapping(m_forward_eff.get());
159 
160  if (m_ref_tool.use_lrt()) {
161  assign_mapping(m_lrt_central_eff.get());
162  assign_mapping(m_lrt_lowpt_central_eff.get());
163  }
166  if (!m_syst_set){
167  m_syst_set = std::make_unique<CP::SystematicSet>();
168  size_t glob_sys = m_ref_tool.getPosition(this);
169  if (glob_sys > m_ref_tool.getNCollections()){
170  Error("EffiCollection()", "Invalid position in the list of systematics. It seems that I'm not part of the referring ScaleFactorTool.");
171  return false;
172  }
175 
176  std::shared_ptr<CollectionContainer> container = retrieveContainer(file_type);
177  if (container->isNominal()) continue;
178  if (container->separateBinSyst()){
181  for (unsigned int b = container->nBins() - 1; b > 0 ; --b){
182  unsigned int bin = b + container->globalOffSet();
183  if (container->isOverFlowBin(bin)) continue;
184  m_syst_set->insert(CP::SystematicVariation::makeToyVariation("MUON_EFF_" + container->sysname() + GetBinName(bin) , bin, glob_sys));
185  }
186  } else {
187  m_syst_set->insert( SystematicVariation("MUON_EFF_" + container->sysname(), container->isUpVariation() ? 1 : -1));
188  }
189  }
190  }
191  return true;
192  }

◆ FileTypeName()

std::string CP::EffiCollection::FileTypeName ( EffiCollection::CollectionType  T)
static

Definition at line 291 of file EffiCollection.cxx.

291  {
292  if (T == CollectionType::Central) return "Central";
293  if (T == CollectionType::Calo) return "Calo";
294  if (T == CollectionType::Forward) return "Forward";
295  if (T == CollectionType::CentralLowPt) return "CentralLowPt";
296  if (T == CollectionType::CaloLowPt) return "CaloLowPt";
297  return "EffiCollection::FileTypeName() - WARNING: Unknown EffiCollection::CollectionType!";
298  }

◆ FindContainer() [1/2]

CollectionContainer * CP::EffiCollection::FindContainer ( const xAOD::Muon mu) const
private

If the isLRT decor is not available, try to see if patternRecoInfo is available for the corresponding ID track.

All LRT muons should have ID tracks. The muons without ID tracks have to come from the standard muon container.

Definition at line 194 of file EffiCollection.cxx.

194  {
195  if (m_ref_tool.use_lrt()) {
196  static const SG::AuxElement::Accessor<char> isLRTmuon("isLRT");
197  if (isLRTmuon.isAvailable(mu)) {
198  if (isLRTmuon(mu)) return FindLRTContainer(mu);
199  }
200  else {
201  static const SG::AuxElement::Accessor<uint64_t> patternAcc("patternRecoInfo");
202  const xAOD::TrackParticle* idtrack = mu.trackParticle(xAOD::Muon::InnerDetectorTrackParticle);
203  if(idtrack) {
204  if(!patternAcc.isAvailable(*idtrack)) {
205  Error("CollectionContainer", "No information available to tell if the muon is LRT or standard. Either run MuonLRTMergingAlg to decorate with `isLRT` flag, or supply the patternRecoInfo for the original ID track.");
206  }
207  std::bitset<xAOD::NumberOfTrackRecoInfo> patternBitSet(patternAcc(*idtrack));
208  if (patternBitSet.test(xAOD::SiSpacePointsSeedMaker_LargeD0)) return FindLRTContainer(mu);
209  }
210  }
211  }
212  if (mu.pt() < m_ref_tool.lowPtTransition()) {
213  if (std::abs(mu.eta()) >= 2.5) {
214  return m_forward_eff.get();
215  }
216  if (mu.muonType() == xAOD::Muon::CaloTagged) {
217  return m_lowpt_calo_eff.get();
218  }
219  return m_lowpt_central_eff.get();
220  }
221  if (mu.muonType() == xAOD::Muon::CaloTagged) {
222  return m_calo_eff.get();
223  } else if (std::abs(mu.eta()) < 2.5) {
224  return m_central_eff.get();
225  } else {
226  return m_forward_eff.get();
227  }
228  }

◆ FindContainer() [2/2]

CollectionContainer * CP::EffiCollection::FindContainer ( unsigned int  bin) const
private

Definition at line 229 of file EffiCollection.cxx.

229  {
230  if (m_central_eff->isBinInMap(bin)) return m_central_eff.get();
231  if (m_forward_eff->isBinInMap(bin)) return m_forward_eff.get();
232  if (m_calo_eff->isBinInMap(bin)) return m_calo_eff.get();
233  if (m_lowpt_central_eff->isBinInMap(bin)) return m_lowpt_central_eff.get();
234  if (m_lowpt_calo_eff->isBinInMap(bin)) return m_lowpt_calo_eff.get();
235  if (m_ref_tool.use_lrt()) {
236  if (m_lrt_central_eff->isBinInMap(bin)) return m_lrt_central_eff.get();
237  if (m_lrt_lowpt_central_eff->isBinInMap(bin)) return m_lrt_lowpt_central_eff.get();
238  }
239  return nullptr;
240  }

◆ FindLRTContainer()

CollectionContainer * CP::EffiCollection::FindLRTContainer ( const xAOD::Muon mu) const
private

Definition at line 241 of file EffiCollection.cxx.

241  {
242  if (mu.pt() < m_ref_tool.lowPtTransition()) return m_lrt_lowpt_central_eff.get();
243  else return m_lrt_central_eff.get();
244  }

◆ GetBinName()

std::string CP::EffiCollection::GetBinName ( unsigned int  bin) const

Returns the global bin name conststucted from the axis titles and the bin borders.

Definition at line 300 of file EffiCollection.cxx.

300  {
301  CollectionContainer* Cont = FindContainer(bin);
302  if (Cont) {
303  std::string BinName = FileTypeName(Cont->type()) +"_"+ Cont->GetBinName(bin);
304  for (const std::string& R : ToRemove) {
305  BinName = ReplaceExpInString(BinName, R, "");
306  }
307  for (const stringpair& R : ToReplace) {
308  BinName = ReplaceExpInString(BinName, R.first, R.second);
309  }
310  return BinName;
311  }
312  Warning("EffiCollection::GetBinName()", "Unknown bin %u", bin);
313 
314  return "UNKNOWN_BIN";
315  }

◆ getSystSet()

SystematicSet * CP::EffiCollection::getSystSet ( ) const

Returns the systematic set affecting this collection.

Definition at line 321 of file EffiCollection.cxx.

321  {
322  return m_syst_set.get();
323  }

◆ getUnCorrelatedSystBin()

int CP::EffiCollection::getUnCorrelatedSystBin ( const xAOD::Muon mu) const

Returns the bin number from which the scale-factor of the muon is going to be retrieved...

Definition at line 316 of file EffiCollection.cxx.

316  {
317  CollectionContainer* container = FindContainer(mu);
318  if (container) return container->FindBinSF(mu);
319  return -1;
320  }

◆ isAffectedBySystematic() [1/2]

bool CP::EffiCollection::isAffectedBySystematic ( const SystematicSet set) const

Definition at line 327 of file EffiCollection.cxx.

327  {
328  if (set.empty()) return m_syst_set->empty();
329  for (const SystematicVariation& variation: set){
330  if (isAffectedBySystematic(variation)) return true;
331  }
332  return false;
333  }

◆ isAffectedBySystematic() [2/2]

bool CP::EffiCollection::isAffectedBySystematic ( const SystematicVariation variation) const

Returns whether the given set has variations affecting this Collection.

Definition at line 324 of file EffiCollection.cxx.

324  {
325  return m_syst_set->find(variation) != m_syst_set->end();
326  }

◆ IsForwardBin()

bool CP::EffiCollection::IsForwardBin ( unsigned int  Bin) const

Checks whether the i-th bin belongs to the forward map.

Definition at line 287 of file EffiCollection.cxx.

287  {
288  return m_forward_eff != m_central_eff && m_forward_eff->isBinInMap(Bin);
289  }

◆ IsLowPtBin()

bool CP::EffiCollection::IsLowPtBin ( unsigned int  Bin) const

Checks whether the i-th bin belongs to the low-pt map...

Definition at line 283 of file EffiCollection.cxx.

283  {
284  return (m_central_eff != m_lowpt_central_eff && m_lowpt_central_eff->isBinInMap(Bin)) ||
285  (m_central_eff != m_lowpt_calo_eff && m_lowpt_calo_eff->isBinInMap(Bin));
286  }

◆ nBins()

unsigned int CP::EffiCollection::nBins ( ) const

Get the number of all bins in the scale-factor maps including the overflow & underflow bins.

Definition at line 251 of file EffiCollection.cxx.

251  {
252  unsigned int Nbins = 0;
253  if (m_central_eff) {
254  Nbins += m_central_eff->nBins();
255  }
256  if (m_central_eff != m_calo_eff) {
257  Nbins += m_calo_eff->nBins();
258  }
259  if (m_forward_eff != m_central_eff) {
260  Nbins += m_forward_eff->nBins();
261  }
263  Nbins += m_lowpt_central_eff->nBins();
264  }
266  Nbins += m_lowpt_calo_eff->nBins();
267  }
268  if (m_ref_tool.use_lrt()) {
269  if (m_lrt_central_eff) {
270  Nbins += m_lrt_central_eff->nBins();
271  }
273  Nbins += m_lrt_lowpt_central_eff->nBins();
274  }
275  }
276  return Nbins;
277  }

◆ retrieveContainer()

std::shared_ptr< CollectionContainer > CP::EffiCollection::retrieveContainer ( CollectionType  Type) const

Method to retrieve a container from the class ordered by a collection type This method is mainly used to propagate the nominal maps to the variations as fallback maps if no variation has been defined in this situation.

Definition at line 104 of file EffiCollection.cxx.

104  {
105  if (Type == CollectionType::Central) return m_central_eff;
106  if (Type == CollectionType::Forward) return m_forward_eff;
107  if (Type == CollectionType::Calo) return m_calo_eff;
108  if (Type == CollectionType::CentralLowPt) return m_lowpt_central_eff;
109  if (Type == CollectionType::CaloLowPt) return m_lowpt_calo_eff;
110  return std::shared_ptr<CollectionContainer>();
111  }

◆ retrieveSF()

EfficiencyScaleFactor * CP::EffiCollection::retrieveSF ( const xAOD::Muon mu,
unsigned int  RunNumber 
) const

return the correct SF type to provide, depending on eta and the author

Definition at line 245 of file EffiCollection.cxx.

245  {
246  CollectionContainer* Cont = FindContainer(mu);
247  if (Cont != nullptr) return Cont->retrieve(RunNumber);
248  Warning("EffiCollection::retrieveSF()", "Invalid muon");
249  return nullptr;
250  }

◆ SetSystematicBin()

bool CP::EffiCollection::SetSystematicBin ( unsigned int  Bin)

If systematic decorrelation is activated then the user needs to loop manually over the syst bins.

This method activates the i-th bin to be active. For the remaining bins the nominal scale-factor is returned instead.

Definition at line 278 of file EffiCollection.cxx.

278  {
279  CollectionContainer* Cont = FindContainer(Bin);
280  if (!Cont) return false;
281  return Cont->SetSystematicBin(Bin);
282  }

Member Data Documentation

◆ m_calo_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_calo_eff
private

Definition at line 112 of file EffiCollection.h.

◆ m_central_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_central_eff
private

Make the collection container shared ptr to allow that a systematic EffiCollection can use the same container as the nominal one if the current systematic has no effect on that particular container....

Definition at line 111 of file EffiCollection.h.

◆ m_forward_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_forward_eff
private

Definition at line 113 of file EffiCollection.h.

◆ m_lowpt_calo_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_lowpt_calo_eff
private

Definition at line 115 of file EffiCollection.h.

◆ m_lowpt_central_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_lowpt_central_eff
private

Definition at line 114 of file EffiCollection.h.

◆ m_lrt_central_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_lrt_central_eff
private

Definition at line 116 of file EffiCollection.h.

◆ m_lrt_lowpt_central_eff

std::shared_ptr<CollectionContainer> CP::EffiCollection::m_lrt_lowpt_central_eff
private

Definition at line 117 of file EffiCollection.h.

◆ m_ref_tool

const MuonEfficiencyScaleFactors& CP::EffiCollection::m_ref_tool
private

Definition at line 106 of file EffiCollection.h.

◆ m_syst_set

std::unique_ptr<SystematicSet> CP::EffiCollection::m_syst_set
private

The systematic set is returned back to the MuonEfficiencyScaleFactors instance to register The known systematics to the global service.

Definition at line 121 of file EffiCollection.h.


The documentation for this class was generated from the following files:
CP::MuonEfficiencyScaleFactors::filename_Calo
std::string filename_Calo() const
Reconstruction scale-factors have a dedicated map for calo-tag muons around |\eta|<0....
Definition: MuonEfficiencyScaleFactors.cxx:378
CP::MuonEfficiencyScaleFactors::filename_Central
std::string filename_Central() const
The following methods are meant to propagate information from the central tool to the subtool managin...
Definition: MuonEfficiencyScaleFactors.cxx:347
CP::MuonEfficiencyScaleFactors::filename_LRTLowPt
std::string filename_LRTLowPt() const
Definition: MuonEfficiencyScaleFactors.cxx:400
CP::EffiCollection::CentralLowPt
@ CentralLowPt
Definition: EffiCollection.h:42
Calo
Definition: CaloTrackingGeometryBuilder.h:15
CP::MuonEfficiencyScaleFactors::lowPtTransition
float lowPtTransition() const
If the pt of the muon is below that threshold the J/Psi or Upsilon map is used given that it's availa...
Definition: MuonEfficiencyScaleFactors.cxx:89
CP::SystematicVariation::makeToyVariation
static SystematicVariation makeToyVariation(const std::string &basename, unsigned toyIndex, float toyScale)
constructor for toy systematics
Definition: SystematicVariation.cxx:238
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
CP::EffiCollection::UnCorrelated
@ UnCorrelated
Definition: EffiCollection.h:55
CP::EffiCollection::m_lowpt_central_eff
std::shared_ptr< CollectionContainer > m_lowpt_central_eff
Definition: EffiCollection.h:114
CP::EffiCollection::Central
@ Central
The five different scale-factor maps.
Definition: EffiCollection.h:39
bin
Definition: BinsDiffFromStripMedian.h:43
CP::EffiCollection::Calo
@ Calo
Definition: EffiCollection.h:40
CP::EffiCollection::m_lrt_central_eff
std::shared_ptr< CollectionContainer > m_lrt_central_eff
Definition: EffiCollection.h:116
CP::EffiCollection::Forward
@ Forward
Definition: EffiCollection.h:41
CP::MuonEfficiencyScaleFactors::filename_LRTCentral
std::string filename_LRTCentral() const
LRT muons have their own efficiency maps.
Definition: MuonEfficiencyScaleFactors.cxx:361
CP::EffiCollection::m_lowpt_calo_eff
std::shared_ptr< CollectionContainer > m_lowpt_calo_eff
Definition: EffiCollection.h:115
CP::MuonEfficiencyScaleFactors::getPosition
size_t getPosition(const EffiCollection *coll) const
Returns the position of the collection in the syst set vector.
Definition: MuonEfficiencyScaleFactors.cxx:114
CP::MuonEfficiencyScaleFactors::filename_LowPt
std::string filename_LowPt() const
Returns the scale-factor maps from a complementary scale-factor measurement using the J/Psi or Upsilo...
Definition: MuonEfficiencyScaleFactors.cxx:392
CP::EffiCollection::CollectionType
CollectionType
Definition: EffiCollection.h:37
CP::EffiCollection::retrieveContainer
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...
Definition: EffiCollection.cxx:104
CP::EffiCollection::UpVariation
@ UpVariation
Definition: EffiCollection.h:56
jet::CombMassComp::Calo
@ Calo
Definition: UncertaintyEnum.h:197
beamspotman.n
n
Definition: beamspotman.py:731
CP::Reco
@ Reco
Definition: MuonEfficiencyType.h:14
CP::EffiCollection::FindLRTContainer
CollectionContainer * FindLRTContainer(const xAOD::Muon &mu) const
Definition: EffiCollection.cxx:241
egEnergyCorr::Resolution::Nominal
@ Nominal
Definition: egammaEnergyCorrectionTool.h:62
CP::EffiCollection::PtDependent
@ PtDependent
Definition: EffiCollection.h:54
CP::EffiCollection::GetBinName
std::string GetBinName(unsigned int bin) const
Returns the global bin name conststucted from the axis titles and the bin borders.
Definition: EffiCollection.cxx:300
AnalysisUtils::Delta::R
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
Definition: AnalysisMisc.h:49
xAODType
Definition: ObjectType.h:13
xAOD::SiSpacePointsSeedMaker_LargeD0
@ SiSpacePointsSeedMaker_LargeD0
Definition: TrackingPrimitives.h:183
CP::MuonEfficiencyScaleFactors::filename_HighEta
std::string filename_HighEta() const
High-eta reconstruction scale-factors are not obtained by the means of are not obtained by the means ...
Definition: MuonEfficiencyScaleFactors.cxx:385
CP::EffiCollection::m_ref_tool
const MuonEfficiencyScaleFactors & m_ref_tool
Definition: EffiCollection.h:106
CxxUtils::set
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.
Definition: bitmask.h:232
CP::EffiCollection::m_forward_eff
std::shared_ptr< CollectionContainer > m_forward_eff
Definition: EffiCollection.h:113
EventInfoWrite.RunNumber
RunNumber
Definition: EventInfoWrite.py:50
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
CP::MuonEfficiencyScaleFactors::getNCollections
size_t getNCollections() const
Returns the number of EffiCollections stored in this class.
Definition: MuonEfficiencyScaleFactors.cxx:122
CP::EffiCollection::ZAnalysis
@ ZAnalysis
Definition: EffiCollection.h:45
CP::EffiCollection::Symmetric
@ Symmetric
Definition: EffiCollection.h:53
CP::EffiCollection::m_calo_eff
std::shared_ptr< CollectionContainer > m_calo_eff
Definition: EffiCollection.h:112
CP::EffiCollection::FileTypeName
static std::string FileTypeName(EffiCollection::CollectionType T)
Definition: EffiCollection.cxx:291
CP::EffiCollection::CaloLowPt
@ CaloLowPt
Definition: EffiCollection.h:43
CP::EffiCollection::FindContainer
CollectionContainer * FindContainer(unsigned int bin) const
Definition: EffiCollection.cxx:229
CP::ReplaceExpInString
std::string ReplaceExpInString(std::string str, const std::string &exp, const std::string &rep)
Replaces all expressions an string by something else.
Definition: PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonEfficiencyCorrections/Root/UtilFunctions.cxx:24
CP::EffiCollection::JPsiAnalysis
@ JPsiAnalysis
Distinguish these two because the systematics are named with an extra LOWPT.
Definition: EffiCollection.h:48
CP::EffiCollection::m_lrt_lowpt_central_eff
std::shared_ptr< CollectionContainer > m_lrt_lowpt_central_eff
Definition: EffiCollection.h:117
CP::MuonEfficiencyScaleFactors::use_lrt
bool use_lrt() const
option to set if we want to use LRT muons
Definition: MuonEfficiencyScaleFactors.cxx:125
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CP::EffiCollection::m_syst_set
std::unique_ptr< SystematicSet > m_syst_set
The systematic set is returned back to the MuonEfficiencyScaleFactors instance to register The known ...
Definition: EffiCollection.h:121
CP::EffiCollection::isAffectedBySystematic
bool isAffectedBySystematic(const SystematicVariation &variation) const
Returns whether the given set has variations affecting this Collection.
Definition: EffiCollection.cxx:324
L1Topo::Error
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition: Error.h:16
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
CP::MuonEfficiencyScaleFactors::filename_LowPtCalo
std::string filename_LowPtCalo() const
Definition: MuonEfficiencyScaleFactors.cxx:408
CP::EffiCollection::m_central_eff
std::shared_ptr< CollectionContainer > m_central_eff
Make the collection container shared ptr to allow that a systematic EffiCollection can use the same c...
Definition: EffiCollection.h:111
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53