DL2HighLevel.h 1.01 KB
Newer Older
1
/*
2
  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
4
5
6
7
8
*/

#ifndef DL2_HIGH_LEVEL_HH
#define DL2_HIGH_LEVEL_HH

#include "FlavorTagDiscriminants/FlipTagEnums.h"
9
#include "FlavorTagDiscriminants/AssociationEnums.h"
10
#include "FlavorTagDiscriminants/DL2DataDependencyNames.h"
11
12

// EDM includes
13
#include "xAODBTagging/BTaggingFwd.h"
14
#include "xAODJet/JetFwd.h"
15
16
17

#include <memory>
#include <string>
18
#include <map>
19
20
21
22
23
24
25
26
27

namespace FlavorTagDiscriminants {

  class DL2;

  class DL2HighLevel
  {
  public:
    DL2HighLevel(const std::string& nn_file_name,
28
                 FlipTagConfig = FlipTagConfig::STANDARD,
29
30
                 std::map<std::string, std::string> remap_scalar = {},
                 TrackLinkType = TrackLinkType::TRACK_PARTICLE);
31
32
    DL2HighLevel(DL2HighLevel&&);
    ~DL2HighLevel();
33
    void decorate(const xAOD::BTagging& btag) const;
34
    void decorate(const xAOD::Jet& jet) const;
35
    DL2DataDependencyNames getDataDependencyNames() const;
36
37
38
39
40
41
42
  private:
    std::unique_ptr<DL2> m_dl2;
  };

}

#endif