Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
jXESort.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 // jXESort.cxx
5 
10 #include <algorithm>
11 #include <cmath>
12 
13 // Bitwise implementation utils
15 
16 REGISTER_ALG_TCS(jXESort)
17 
18 
19 // constructor
20 TCS::jXESort::jXESort(const std::string & name) : SortingAlg(name) {
21 
22  defineParameter( "InputWidth", 2 ); // for FW
23  defineParameter( "OutputWidth", 2 ); // for FW
24 
25 }
26 
27 // destructor
29 
30 
34 }
35 
38 
39  if(input.size()!=1) {
40  TCS_EXCEPTION("jXE sort alg expects exactly single jXE TOB, got " << input.size());
41  }
42 
43  const jXETOBArray & mets = dynamic_cast<const jXETOBArray&>(input);
44  int missingET = quadraticSumBW(mets[0].Ex(), mets[0].Ey());
45 
46  int metphi = TSU::Trigo::atan2(mets[0].Ex(),mets[0].Ey());
47 
48  TRG_MSG_DEBUG("MET phi values " << metphi << " from x/y = " << mets[0].Ex() << "/" << mets[0].Ey() << "( ET = " << missingET << ")" );
49  output.push_back( GenericTOB( missingET, 0, metphi ) );
50 
52 
53 }
54 
56 TCS::jXESort::sort(const InputTOBArray & input, TOBArray & output) {
57  //we have a bitCorrect version, so use it
58  return this->sortBitCorrect(input, output);
59 
60 }
61 
jXESort.h
TCS::StatusCode::SUCCESS
@ SUCCESS
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:17
jXETOBArray.h
TCS::jXESort
Definition: jXESort.h:18
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
TSU::Trigo::atan2
static int atan2(TSU::L1TopoDataTypes< 16, 0 > x, TSU::L1TopoDataTypes< 16, 0 > y)
Definition: Trigo.cxx:512
TCS::InputTOBArray
Definition: InputTOBArray.h:15
TCS::jXETOBArray
Definition: L1Topo/L1TopoEvent/L1TopoEvent/jXETOBArray.h:14
TCS::jXESort::~jXESort
virtual ~jXESort()
Definition: jXESort.cxx:28
TCS_EXCEPTION
#define TCS_EXCEPTION(MSG)
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Exception.h:14
TCS::TOBArray
Definition: TOBArray.h:24
Trigo.h
TCS::GenericTOB
Definition: GenericTOB.h:35
REGISTER_ALG_TCS
#define REGISTER_ALG_TCS(CLASS)
Definition: AlgFactory.h:62
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TCS::jXESort::initialize
virtual StatusCode initialize()
Definition: jXESort.cxx:32
TCS::SortingAlg
Definition: SortingAlg.h:18
GenericTOB.h
TCS::jXESort::sort
virtual TCS::StatusCode sort(const InputTOBArray &input, TOBArray &output)
Definition: jXESort.cxx:56
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
Exception.h
TCS::jXESort::sortBitCorrect
virtual TCS::StatusCode sortBitCorrect(const InputTOBArray &input, TOBArray &output)
Definition: jXESort.cxx:37
TRG_MSG_DEBUG
#define TRG_MSG_DEBUG(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:25
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15