ATLAS Offline Software
Loading...
Searching...
No Matches
RegionSelectionSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef RegionSelectionSvc_H
6#define RegionSelectionSvc_H
7
8#include <TChain.h>
9
10#include <list>
11#include <set>
12#include <string>
13#include <vector>
14
16#include "GaudiKernel/ServiceHandle.h"
17#include "GaudiKernel/ToolHandle.h"
21
22namespace MuonCalib {
24 class MuonFixedId;
25} // namespace MuonCalib
26
27// interface to enable retrieving of a pointer to the singleton //
28
34
36public:
38 RegionSelectionSvc(const std::string &name, ISvcLocator *svc_locator);
42 virtual StatusCode initialize() override;
44 void Print(std::ostream &os) const;
46 bool isInRegion(const MuonCalib::MuonFixedId &id) const;
48 const std::string& GetRegionSelection() const;
50 const std::vector<MuonCalib ::NtupleStationId> &GetStationsInRegions() const;
52 int AddRegionNtuples(const std::string &infile, TChain *chain);
53 int AddRegionNtuples(const std::string &infile, TChain *chain, std::list<std::string> &dirnames);
54
55private:
57 Gaudi::Property<std::string> m_region_string{this, "Region", ""};
59 Gaudi::Property<bool> m_print_list_of_selected_chambers{this, "PrintList", false};
61 std::unique_ptr<MuonCalib ::RegionSelectorBase> m_master_region;
63 std::vector<MuonCalib::NtupleStationId> m_stations_in_region;
64 std::set<MuonCalib::NtupleStationId> m_unique_chambers;
67 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
68 ToolHandle<MuonCalib::IIdToFixedIdTool> m_idToFixedIdTool{this, "IdToFixedIdTool", "MuonCalib::IdToFixedIdTool"};
69
72 bool ProcessString(const std::string &input);
76 void convert_to_tower(int station, int phi, int eta, std::vector<int> &tower) const;
77};
78
79#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Implements fixed identifiers not dependent upon Athena Identifier for internal use in the calibration...
Definition MuonFixedId.h:50
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Gaudi::Property< std::string > m_region_string
region string - job option
void print_list_of_selected_chambers() const
print a list of selected chambers - debug function
bool isInRegion(const MuonCalib::MuonFixedId &id) const
return true if id is in selected region
ToolHandle< MuonCalib::IIdToFixedIdTool > m_idToFixedIdTool
void convert_to_tower(int station, int phi, int eta, std::vector< int > &tower) const
convert station, eta, phi in tower vector
const std::vector< MuonCalib ::NtupleStationId > & GetStationsInRegions() const
get stations/multilayers in region
Gaudi::Property< bool > m_print_list_of_selected_chambers
print list of selected chambers if set to true - job option
int AddRegionNtuples(const std::string &infile, TChain *chain)
add region ntuples which are relevant for this region to TChain
const std::string & GetRegionSelection() const
get region selection
RegionSelectionSvc(const std::string &name, ISvcLocator *svc_locator)
contructor
const MuonGM::MuonDetectorManager * m_detMgr
std::set< MuonCalib::NtupleStationId > m_unique_chambers
bool ProcessString(const std::string &input)
process string
void Print(std::ostream &os) const
debug print
virtual StatusCode initialize() override
initialize
std::vector< MuonCalib::NtupleStationId > m_stations_in_region
chambers/mutlilayers in calibraition region
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
search for chambers and multilayers in selected region towers in selected region
virtual ~RegionSelectionSvc()
destructor
std::unique_ptr< MuonCalib ::RegionSelectorBase > m_master_region
master region
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.