|
ATLAS Offline Software
|
Go to the documentation of this file.
11 bool ,
bool doTrigMuonL1Validation,
bool doTrigMuonL2Validation,
12 bool doTrigMuonEFValidation, std::vector<std::vector<std::string>> ChainSeed,
13 std::vector<std::string> L1MuonItems) :
15 m_selectedAuthors(std::move(authors)),
16 m_doTrigMuonL1Validation(doTrigMuonL1Validation),
17 m_doTrigMuonL2Validation(doTrigMuonL2Validation),
18 m_doTrigMuonEFValidation(doTrigMuonEFValidation),
19 m_ChainSeed(std::move(ChainSeed)),
20 m_L1MuonItems(std::move(L1MuonItems)) {
31 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/L2/StandAlone/Resolution/BARREL/",
""));
34 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/L2/StandAlone/Resolution/ENDCAPS/",
""));
36 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/L2/Combined/Resolution/ENDCAPS/",
""));
38 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/L2/StandAlone/Resolution/WHOLE_DETECT/",
""));
48 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/EF/" + sAuthor +
"/Resolution/BARREL/",
""));
51 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/EF/" + sAuthor +
"/Resolution/ENDCAPS/",
""));
54 std::make_unique<ResoTriggerMuonPlots>(
this,
"trigger/EF/" + sAuthor +
"/Resolution/WHOLE_DETECT/",
""));
60 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_L1MuonItems[
i] +
"_Efficiency/BARREL/"));
63 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_L1MuonItems[
i] +
"_Efficiency/ENDCAPS/"));
66 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_L1MuonItems[
i] +
"_Efficiency/WHOLE_DETECT/"));
68 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
71 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_chains[
i] +
"_Efficiency/BARREL/"));
74 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_chains[
i] +
"_Efficiency/ENDCAPS/"));
77 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_chains[
i] +
"_Efficiency/WHOLE_DETECT/"));
79 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
82 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_chains[
i] +
"_wrt_" +
m_seeds[
i] +
"_Efficiency/BARREL/"));
85 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_chains[
i] +
"_wrt_" +
m_seeds[
i] +
"_Efficiency/ENDCAPS/"));
88 std::make_unique<TriggerEfficiencyPlots>(
this,
"trigger/" +
m_chains[
i] +
"_wrt_" +
m_seeds[
i] +
"_Efficiency/WHOLE_DETECT/"));
154 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
166 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
169 if (((
mu.eta()) > -1.05) && ((
mu.eta()) < 1.05))
171 if (((
mu.eta()) < -1.05) || ((
mu.eta()) > 1.05))
180 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
207 if (((
mu.eta()) > -1.05) && ((
mu.eta()) < 1.05))
209 if (((
mu.eta()) < -1.05) || ((
mu.eta()) > 1.05))
219 ROIinMuons->setStore(ROIinMuonsAux);
227 if (((TrigL1mu.
eta()) > -1.05) && ((TrigL1mu.
eta()) < 1.05))
229 if (((TrigL1mu.
eta()) < -1.05) || ((TrigL1mu.
eta()) > 1.05))
234 delete ROIinMuonsAux;
240 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
243 if (((
mu.eta()) > -1.05) && ((
mu.eta()) < 1.05))
245 if (((
mu.eta()) < -1.05) || ((
mu.eta()) > 1.05))
254 for (
unsigned int i = 0;
i <
m_chains.size();
i++) {
257 if (((
mu.eta()) > -1.05) && ((
mu.eta()) < 1.05))
259 if (((
mu.eta()) < -1.05) || ((
mu.eta()) > 1.05))
269 if (
str.find(
"HLT_") != std::string::npos) {
270 for (
unsigned int l = 0;
l <
str.size();
l++) {
271 if (isdigit(
str[
l])) {
272 for (
unsigned int a =
l;
a <
str.size();
a++) {
274 if ((isdigit(
str[
a])) == 0)
break;
281 if (
str.find(
"L1_MU") != std::string::npos) {
282 for (
unsigned int l = 0;
l <
str.size();
l++) {
283 if ((
str[
l]) ==
'U') {
284 for (
unsigned int a =
l + 1;
a <
str.size();
a++) {
void fillNumRELEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::string > m_seeds
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelEfficiencyPlots
Class describing standalone muons reconstructed in the LVL2 trigger.
void fillNumEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
virtual double eta() const
The pseudorapidity ( ) of the particle.
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelRELEfficiencyPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonEndcapsResolutionPlots
void fill(const xAOD::MuonRoI &TrigL1mu)
float eta() const
The pseudorapidity ( ) of the muon candidate.
void setP4(double pt, double eta, double phi)
Set method for IParticle values.
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEndcapsEfficiencyPlots
float thrValue() const
The highest threshold value (in MeV) passed by the muon candidate.
std::unique_ptr< L1TriggerMuonPlots > m_oL1TriggerMuonPlots
std::vector< std::string > m_chains
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsRELEfficiencyPlots
Class describing combined muon reconstructed in the LVL2 trigger.
Temporary container used until we have I/O for AuxStoreInternal.
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsEfficiencyPlots
void fillDenEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::vector< std::string > > m_ChainSeed
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oL2TriggerMuonPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainBarrelEfficiencyPlots
Class describing a LVL1 muon region of interest.
bool m_doTrigMuonEFValidation
bool m_doTrigMuonL1Validation
TriggerMuonValidationPlots(PlotBase *pParent, const std::string &sDir, std::vector< unsigned int > authors, bool isData, bool doTrigMuonL1Validation, bool doTrigMuonL2Validation, bool doTrigMuonEFValidation, std::vector< std::vector< std::string >> ChainSeed, std::vector< std::string > L1MuonItems)
void fillDenRELEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
bool isAuthor(const Author author) const
Returns 'true' if 'author' is the an author of this muon.
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonBarrelResolutionPlots
Muon_v1 Muon
Reference the current persistent version:
bool m_doTrigMuonL2Validation
std::vector< std::string > m_L1MuonItems
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEfficiencyPlots
void fillTriggerMuonPlots(const xAOD::Muon &Trigmu)
value_type push_back(value_type pElem)
Add an element to the end of the collection.
void fillNumL1Eff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonEndcapsResolutionPlots
void fillDenL1Eff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
float findTrigTreshold(const TString &chain)
void fillFeatPlots(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oEFTriggerMuonPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonResolutionPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEfficiencyPlots
MuonAuxContainer_v5 MuonAuxContainer
Definition of the current Muon auxiliary container.
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainRELEfficiencyPlots
virtual ~TriggerMuonValidationPlots()
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonBarrelResolutionPlots
float phi() const
The azimuthal angle ( ) of the muon candidate.
std::vector< unsigned int > m_selectedAuthors