jFEXDriver.h 2.72 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef JFEXDRIVER_H
#define JFEXDRIVER_H

// STL
#include <string>

// Athena/Gaudi
#include "AthenaBaseComps/AthReentrantAlgorithm.h"
#include "AthenaBaseComps/AthAlgorithm.h"
#include "CaloEvent/CaloCellContainer.h"
#include "L1CaloFEXSim/jTower.h"
#include "L1CaloFEXSim/jTowerContainer.h"
#include "L1CaloFEXSim/jTowerBuilder.h"
#include "L1CaloFEXSim/jSuperCellTowerMapper.h"
#include "L1CaloFEXToolInterfaces/IjFEXSysSim.h"
#include "xAODTrigL1Calo/TriggerTowerContainer.h"
#include "CaloIdentifier/CaloIdManager.h"
#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
19
#include "L1CaloFEXSim/jFEXOutputCollection.h"
Varsiha Sothilingam's avatar
Varsiha Sothilingam committed
20
#include "xAODTrigger/jFexSRJetRoIContainer.h" 
21
22
23
24
#include "xAODTrigger/jFexLRJetRoIContainer.h"
#include "xAODTrigger/jFexTauRoIContainer.h" 


25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class CaloIdManager;

namespace LVL1 {

class jFEXDriver : public AthAlgorithm
{
 public:
  //using AthReentrantAlgorithm::AthReentrantAlgorithm;

  jFEXDriver(const std::string& name, ISvcLocator* pSvcLocator);
  virtual ~jFEXDriver();

  virtual StatusCode initialize();
  virtual StatusCode execute(/*const EventContext& ctx*/);// const;
  StatusCode finalize();
40
41
42
43

  virtual StatusCode testSRJetEDM();
  virtual StatusCode testLRJetEDM();
  virtual StatusCode testTauEDM();
44

Varsiha Sothilingam's avatar
Varsiha Sothilingam committed
45
 private: 
46
47
48
49
50

  int m_numberOfEvents = 0;

  SG::WriteHandleKey<LVL1::jTowerContainer> m_jTowerContainerSGKey {this, "MyETowers", "jTowerContainer", "MyETowers"};

51
  SG::WriteHandleKey<jFEXOutputCollection> m_jFEXOutputCollectionSGKey {this, "MyOutputs", "jFEXOutputCollection", "MyOutputs"};
52
53
54

  SG::ReadHandleKey<CaloCellContainer> m_scellsCollectionSGKey {this, "SCell", "SCell", "SCell"};

55
56
57
58
  SG::ReadHandleKey<xAOD::jFexSRJetRoIContainer> m_jFexSRJetEDMKey {this, "myEDMSR", "L1_jFexSRJetRoI", "Reading container of jFexSRRoIs"};
  SG::ReadHandleKey<xAOD::jFexLRJetRoIContainer> m_jFexLRJetEDMKey {this, "myEDMLR", "L1_jFexLRJetRoI", "Reading container of jFexLRRoIs"};
  SG::ReadHandleKey<xAOD::jFexTauRoIContainer> m_jFexTauEDMKey {this, "myEDMTau", "L1_jFexTauRoI", "Reading container of jFexTauRoIs"};

Varsiha Sothilingam's avatar
Varsiha Sothilingam committed
59

60
61
62
63
  ToolHandle<IjTowerBuilder> m_jTowerBuilderTool {this, "jTowerBuilderTool", "LVL1::jTowerBuilder", "Tool that builds jTowers for simulation"};
  ToolHandle<IjSuperCellTowerMapper> m_jSuperCellTowerMapperTool {this, "jSuperCellTowerMapperTool", "LVL1::jSuperCellTowerMapper", "Tool that maps supercells to jTowers"};
  ToolHandle<IjFEXSysSim> m_jFEXSysSimTool {this, "jFEXSysSimTool", "LVL1::jFEXSysSim", "Tool that creates the jFEX System Simulation"};

64
  std::unordered_map<Identifier, std::pair<int,int> > m_cell_to_tower_map;
65
66
67
68
69
  std::string m_PileupWeigthFile;
  
  // This string is used to convert the m_PileupweigthFile file in a readable file for jFEX
  std::string m_PileupHelperFile;

70
71
72
73
74

};

} // end of LVL1 namespace
#endif