jFEXNtupleWriter.h 3.83 KB
Newer Older
1
/*
scott snyder's avatar
scott snyder committed
2
  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
*/

//***************************************************************************
//                           jFEXNtupleWriter.h  -  
//                              -------------------
//     begin                : 12 12 2020
//     email                : varsiha.sothilingam@cern.ch
//  **************************************************************************
#ifndef JFEXTUPLEWRITER_H
#define JFEXTUPLEWRITER_H
#include "AthenaBaseComps/AthAlgorithm.h"
#include "TTree.h"
#include "GaudiKernel/ITHistSvc.h"
#include "xAODTruth/TruthParticle.h"
#include <memory>
#include "L1CaloFEXSim/jFEXOutputCollection.h"

namespace LVL1 {
class jFEXNtupleWriter : public AthAlgorithm
{
public:
  // this is a standard algorithm constructor
  jFEXNtupleWriter(const std::string& name, ISvcLocator* pSvcLocator);
  ~jFEXNtupleWriter();
  // these are the functions inherited from Algorithm
  StatusCode initialize ();
  StatusCode execute ();
  StatusCode finalize ();

private:
33
  SG::ReadHandleKey<LVL1::jFEXOutputCollection> m_jFEXOutputCollectionSGKey {this, "MyOutputs", "jFEXOutputCollection", "MyOutputs"};
34

35
36
37
38
  std::vector<int> m_smallRJet_eta;
  std::vector<int> m_smallRJet_phi;
  std::vector<int> m_smallRJet_ET;
  std::vector<int> m_smallRJet_clusterET;
39

40
41
  std::vector<int> m_smallRJet_nTOBs;  
  std::vector<int> m_smallRJet_isCentralTowerSeed;
42
 
43
44
45
46
  std::vector<int> m_smallRJetTOB_eta;
  std::vector<int> m_smallRJetTOB_phi;
  std::vector<int> m_smallRJetTOB_ET;
  std::vector<int> m_smallRJetTOB_sat;
47
48
49
50
  std::vector<int> m_smallRJetTOB_word;
  std::vector<int> m_smallRJetTOB_jfexID;
  std::vector<int> m_smallRJetTOB_fpgaID;

51
52
53
54
  std::vector<int> m_largeRJet_eta;
  std::vector<int> m_largeRJet_phi;  
  std::vector<int> m_largeRJet_ET;
  std::vector<int> m_largeRJet_nTOBs;
55

56
57
58
59
  std::vector<int> m_largeRJetTOB_ET;
  std::vector<int> m_largeRJetTOB_eta;
  std::vector<int> m_largeRJetTOB_phi;
  std::vector<int> m_largeRJetTOB_sat;
60
61
62
  std::vector<int> m_largeRJetTOB_word;
  std::vector<int> m_largeRJetTOB_jfexID;
  std::vector<int> m_largeRJetTOB_fpgaID;
63

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  std::vector<int> m_tau_isLocalMax;
  std::vector<int> m_tau_TT_ID;
  std::vector<int> m_tau_ET;
  std::vector<int> m_tau_clusterET;
  std::vector<int> m_tau_eta;
  std::vector<int> m_tau_phi;
  std::vector<int> m_tau_realeta;
  std::vector<int> m_tau_ISO;
  std::vector<int> m_tau_jFEXid;
  std::vector<int> m_tau_FPGAid;
  
  std::vector<int> m_tau_TOB_word;
  std::vector<int> m_tau_TOB_ET;
  std::vector<int> m_tau_TOB_eta;
  std::vector<int> m_tau_TOB_phi;
  std::vector<int> m_tau_TOB_ISO;
  std::vector<int> m_tau_TOB_Sat;
81
82
83
84
85
86
87
88
89
  
  //Pile-up
  std::vector<int> m_pileup_FPGAid;
  std::vector<int> m_pileup_jFEXid;
  std::vector<int> m_pileup_rho_EM;
  std::vector<int> m_pileup_rho_HAD1;
  std::vector<int> m_pileup_rho_HAD2;
  std::vector<int> m_pileup_rho_HAD3;
  std::vector<int> m_pileup_rho_FCAL;
90
91
92
93
94
95
96
  std::vector<std::vector<int>> m_pileup_map_ID;
  std::vector<std::vector<int>> m_pileup_map_Et_values_HAD_jet;
  std::vector<std::vector<int>> m_pileup_map_Et_values_EM_jet;
  std::vector<std::vector<int>> m_pileup_map_Et_values_Total_jet;
  std::vector<std::vector<int>> m_pileup_map_Et_values_HAD_met;
  std::vector<std::vector<int>> m_pileup_map_Et_values_EM_met;
  std::vector<std::vector<int>> m_pileup_map_Et_values_Total_met;
97

98

99
100
  TTree *m_myTree;
 
101
102
103
104
  StatusCode loadsmallRJetAlgoVariables(SG::ReadHandle<LVL1::jFEXOutputCollection>);
  StatusCode loadlargeRJetAlgoVariables(SG::ReadHandle<LVL1::jFEXOutputCollection>);
  StatusCode loadtauAlgoVariables(SG::ReadHandle<LVL1::jFEXOutputCollection>);
  StatusCode loadPileupVariables(SG::ReadHandle<LVL1::jFEXOutputCollection>);
105
106
  StatusCode loadPileupEt(SG::ReadHandle<LVL1::jFEXOutputCollection>);
  
107
108
109
};
}
#endif