ATLAS Offline Software
Loading...
Searching...
No Matches
TrigConfCoolL1PayloadConverters.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrigConfStorage_TrigConfCoolL1PayloadConverters
6#define TrigConfStorage_TrigConfCoolL1PayloadConverters
7
8#include <map>
9#include <string>
10#include <vector>
11#include <sys/types.h>
12#include <stdint.h>
13#include "CoolKernel/pointers.h"
14
15namespace cool {
16 class IRecord;
17 class Record;
18}
19
20namespace coral {
21 class AttributeList;
22}
23
24namespace TrigConf {
25
26 class Menu;
27 class BunchGroup;
28 class METSigParam;
29 class TriggerItem;
30 class TriggerThreshold;
31 class BunchGroupSet;
32 class PIT;
33 class TIP;
34 class ThresholdMonitor;
35
37
39 cool::Record createLvl1MenuPayload( cool::IFolderPtr, const TrigConf::TriggerItem & item );
40
42 cool::Record createLvl1ItemDefPayload(cool::IFolderPtr, const TrigConf::TriggerItem & item );
43
45 cool::Record createLvl1JetWeightPayload(cool::IFolderPtr, const std::vector<int>& jetweights );
46
48 cool::Record createLvl1METSigPayload(cool::IFolderPtr, const METSigParam& metSigParams );
49
51 cool::Record createLvl1ThresholdPayload(cool::IFolderPtr, const TrigConf::TriggerThreshold & thr );
52
54 cool::Record createLvl1ConfigKeyPayload(cool::IFolderPtr, unsigned int lvl1PrescaleKey );
55
62 cool::Record createLvl1PrescalesPayload(cool::IFolderPtr, int prescale);
63 cool::Record createLvl1PrescalesPayload(cool::IFolderPtr, int64_t prescale);
64
70 cool::Record createLvl1BGKeyPayload(cool::IFolderPtr, unsigned int lvl1BunchgroupKey);
71
77 cool::Record createLvl1BGContentPayload(cool::IFolderPtr fld, const TrigConf::BunchGroupSet& bgs);
78
84 cool::Record createLvl1BGDescPayload( cool::IFolderPtr fld,
85 const TrigConf::BunchGroupSet& bgs,
86 const TrigConf::Menu& lvl1Menu);
87
89 cool::Record createLvl1InputMapPayload(cool::IFolderPtr, const TrigConf::TIP& tip);
90
91
104 cool::Record createLvl1MonMapPayload( cool::IFolderPtr,
105 const std::string& type,
106 const uint16_t& bgId,
107 const std::string& threshName,
108 const std::string& slot,
109 const std::string& con,
110 const std::string& mult,
111 const std::string& start,
112 const std::string& end,
113 const std::string& active,
114 const std::string& monName = std::string(""),
115 const std::string& CounterLogic=std::string(""));
116
117
119 void readLvl1ConfigKey( const coral::AttributeList & al, unsigned int & lvl1PrescaleKey );
120
121
123 void readLvl1Prescale( const coral::AttributeList & al, int & ps );
124 void readLvl1Prescale( const coral::AttributeList & al, int64_t & ps );
125
126
128 int readLvl1BGKey( const coral::AttributeList & al);
129
131 TrigConf::PIT* readLvl1InputMap( const coral::AttributeList & al); // backward compatible
132
133 TrigConf::TIP* readLvl1TIPMap( const coral::AttributeList & al);
134
136 std::vector<TrigConf::ThresholdMonitor*> readLvl1MonMap( const cool::IRecord & payload);
137
138
140 std::vector<TrigConf::BunchGroup> readLvl1BGContent( const coral::AttributeList & al);
141
151 std::pair<std::vector<std::string>, std::map<unsigned int,unsigned char> >
152 readLvl1BGDesc( const coral::AttributeList & al);
153
155 TriggerItem * createLvl1TriggerItem( const coral::AttributeList & al );
156
157
159 TriggerThreshold * createLvl1Threshold( const coral::AttributeList & al );
160
161
169 void addThresholdsToTriggerItem( const coral::AttributeList & al, TriggerItem * item, const std::vector<TrigConf::TriggerThreshold*>& thrs );
170
171
172 }
173}
174
175#endif
static Double_t al
std::vector< TrigConf::ThresholdMonitor * > readLvl1MonMap(const cool::IRecord &payload)
Build a LVL1 mon counter object from COOL payload.
cool::Record createLvl1MonMapPayload(cool::IFolderPtr, const std::string &type, const uint16_t &bgId, const std::string &threshName, const std::string &slot, const std::string &con, const std::string &mult, const std::string &start, const std::string &end, const std::string &active, const std::string &monName=std::string(""), const std::string &CounterLogic=std::string(""))
build a COOL db record from a monitoring-mapping string value
cool::Record createLvl1METSigPayload(cool::IFolderPtr, const METSigParam &metSigParams)
build a COOL db record from a L1 MET significance global parameters
cool::Record createLvl1ConfigKeyPayload(cool::IFolderPtr, unsigned int lvl1PrescaleKey)
build a COOL db record from a LVL1 configuration key
std::pair< std::vector< std::string >, std::map< unsigned int, unsigned char > > readLvl1BGDesc(const coral::AttributeList &al)
build the LVL1 Bunchgroup descriptions from a coral::AttributeList
cool::Record createLvl1BGKeyPayload(cool::IFolderPtr, unsigned int lvl1BunchgroupKey)
build a COOL db record from a LVL1 bunch group key
cool::Record createLvl1MenuPayload(cool::IFolderPtr, const TrigConf::TriggerItem &item)
build a COOL db record from a LVL1 TriggerItem (the item name and version)
cool::Record createLvl1PrescalesPayload(cool::IFolderPtr, int prescale)
build a COOL db record from a LVL1 prescale value
TrigConf::PIT * readLvl1InputMap(const coral::AttributeList &al)
Build a LVL1 PIT object from COOL payload.
TrigConf::TIP * readLvl1TIPMap(const coral::AttributeList &al)
void readLvl1Prescale(const coral::AttributeList &al, int &ps)
build the LVL1 prescale value from a coral::AttributeList
cool::Record createLvl1BGDescPayload(cool::IFolderPtr fld, const TrigConf::BunchGroupSet &bgs, const TrigConf::Menu &lvl1Menu)
build a COOL db record from a bunch group description
cool::Record createLvl1BGContentPayload(cool::IFolderPtr fld, const TrigConf::BunchGroupSet &bgs)
build a COOL db record from a bunch group definition value
cool::Record createLvl1ItemDefPayload(cool::IFolderPtr, const TrigConf::TriggerItem &item)
build a COOL db record from a LVL1 TriggerItem (the conditions)
void readLvl1ConfigKey(const coral::AttributeList &al, unsigned int &lvl1PrescaleKey)
build the LVL1 configuration key from a coral::AttributeList
std::vector< TrigConf::BunchGroup > readLvl1BGContent(const coral::AttributeList &al)
build the LVL1 Bunchgroup code
TriggerItem * createLvl1TriggerItem(const coral::AttributeList &al)
build a LVL1 TriggerItem from a COOL db record
cool::Record createLvl1InputMapPayload(cool::IFolderPtr, const TrigConf::TIP &tip)
build a COOL db record from a PIT-mapping string value
cool::Record createLvl1ThresholdPayload(cool::IFolderPtr, const TrigConf::TriggerThreshold &thr)
build a COOL db record from a LVL1 TriggerItem
void addThresholdsToTriggerItem(const coral::AttributeList &al, TriggerItem *item, const std::vector< TrigConf::TriggerThreshold * > &thrs)
build a TriggerThreshold definition from a COOL db record and add to the corresponding item
TriggerThreshold * createLvl1Threshold(const coral::AttributeList &al)
build a LVL1 TriggerThreshold from a COOL db record
cool::Record createLvl1JetWeightPayload(cool::IFolderPtr, const std::vector< int > &jetweights)
build a COOL db record from a L1 Jet Weights vector
int readLvl1BGKey(const coral::AttributeList &al)
build the LVL1 Bunchgroup key value
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22