jFEXOutputCollection.h 2.42 KB
Newer Older
1
2
3
4
5
6
7
8
9
/*
  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
//***************************************************************************
//                           jFEXOutputCollection.h  -
//                              -------------------
//     begin                : 09 12 2020
//     email                : varsiha.sothilingam@cern.ch
//  **************************************************************************
10

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

#ifndef JFEX_OUTPUT_COLLECTION_H
#define JFEX_OUTPUT_COLLECTION_H

#include "AthenaKernel/CLASS_DEF.h"
#include "StoreGate/StoreGateSvc.h"
#include <map>
#include <iostream>
#include <vector>
#include <string>

namespace LVL1 {
  class jFEXOutputCollection
  {
  public:
26
    jFEXOutputCollection();
27
28
    ~jFEXOutputCollection();
    void clear();
29
    void addValue_smallRJet(std::string, int);
30
31
32
33
34
35
    void fill_smallRJet();
    void addValue_largeRJet(std::string, int);
    void fill_largeRJet();
    void addValue_tau(std::string, int);
    void fill_tau();
    void addValue_pileup(std::string, int);
36
    void addValue_pileup(std::string, std::vector<int> );
37
    void fill_pileup();
38
39
40
41
    int SRsize() const;
    int LRsize() const;
    int tausize() const;
    int pileupsize() const;
42
    int pileuEtSize() const;
43
44
45
46
47
    void setdooutput(bool);
    bool getdooutput() const;
    std::unordered_map<std::string, int>* get_smallRJet(int) const;
    std::unordered_map<std::string, int>* get_largeRJet(int) const;
    std::unordered_map<std::string, int>* get_tau(int) const;
48
49
    int get_pileup(int,std::string) const;
    std::vector<int> get_pileup_map(int,std::string) const;
50
  private:
51
    bool m_dooutput;
52
53
54
55
56
57
58
    std::unordered_map<std::string, int> m_values_tem_smallRJet;
    std::vector<std::unordered_map<std::string, int>*> m_allvalues_smallRJet;
    std::unordered_map<std::string, int> m_values_tem_largeRJet;
    std::vector<std::unordered_map<std::string, int>*> m_allvalues_largeRJet;
    std::unordered_map<std::string, int> m_values_tem_tau;
    std::vector<std::unordered_map<std::string, int>*> m_allvalues_tau;
    std::unordered_map<std::string, int> m_values_tem_pileup;
59
60
61
    std::unordered_map<std::string, std::vector<int> > m_values_tem_pileup_maps;
    std::vector< std::unique_ptr<std::unordered_map<std::string, int>> > m_allvalues_pileup;
    std::vector< std::unique_ptr<std::unordered_map<std::string, std::vector<int> >> > m_allvalues_pileup_map;
62
63
64
65
  };
}
CLASS_DEF(LVL1::jFEXOutputCollection, 1317184196 , 1 )
#endif