/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Member Functions | Protected Attributes | Private Attributes
MuonTag Class Reference

#include <MuonTag.h>

Inheritance diagram for MuonTag:
Inheritance graph
[legend]
Collaboration diagram for MuonTag:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MuonTag (const std::string &name)
virtual ~MuonTag ()
virtual bool tag (PhyEvent *event)
const std::string & name ()
bool setOption (const std::string &option, Type &var)

Protected Attributes

bool m_veto
std::string m_name

Private Attributes

double m_adMuonThr
double m_showerMuonThr
int m_iwsNpmtThr
int m_owsNpmtThr
bool m_tagRPCMuon
bool m_tagADMuon

Detailed Description

Definition at line 6 of file MuonTag.h.


Constructor & Destructor Documentation

MuonTag::MuonTag ( const std::string &  name)

Definition at line 9 of file MuonTag.cc.

    : ITagBase(name)
{
  setOption("ApplyVeto",m_veto=false);
  setOption("AdMuonThreshold",m_adMuonThr);
  setOption("ShowerMuonThreshold",m_showerMuonThr);
  setOption("IwsNPmtThreshold",m_iwsNpmtThr);
  setOption("OwsNPmtThreshold",m_owsNpmtThr);

  OptionParser::setOption(name, "tagRPCMuon", m_tagRPCMuon=true);
  OptionParser::setOption(name, "tagADMuon", m_tagADMuon=true);
}
virtual MuonTag::~MuonTag ( ) [inline, virtual]

Definition at line 10 of file MuonTag.h.

{}

Member Function Documentation

bool MuonTag::tag ( PhyEvent event) [virtual]

Implements ITagBase.

Definition at line 22 of file MuonTag.cc.

{
  if(!event->m_good) {
    return false;
  }

  if(event->m_det==5) { // IWS
    if(event->m_nPmt>m_iwsNpmtThr) {
      event->m_muonTag=PhyEvent::kWpMuon;
      return m_veto;
    }
  } else if (event->m_det==6) { // OWS
    if(event->m_nPmt>m_owsNpmtThr) {
      event->m_muonTag=PhyEvent::kWpMuon;
      return m_veto;
    }
  } else if (event->m_det==7) {
    if(m_tagRPCMuon && ((event->m_trigType&0x00040000) != 0) ) {  // RPC 3/4
      RecRpcReadout* recRpc = event->get<RecRpcReadout>("Event/Rec/RpcSimple");
      if(recRpc->eventType == 3 || recRpc->maxHitsInLayer() < 3)  
            event->m_muonTag=PhyEvent::kRpcMuon;
      return m_veto;
    }
  } else {
    if(event->energy()>m_adMuonThr && m_tagADMuon) {
      event->m_muonTag=PhyEvent::kAdMuon;
      if(event->energy()>m_showerMuonThr) {
        event->m_muonTag=PhyEvent::kShowerMuon;
      }
      return m_veto;
    }
  }
  return false;
}

Member Data Documentation

double MuonTag::m_adMuonThr [private]

Definition at line 14 of file MuonTag.h.

double MuonTag::m_showerMuonThr [private]

Definition at line 15 of file MuonTag.h.

int MuonTag::m_iwsNpmtThr [private]

Definition at line 16 of file MuonTag.h.

int MuonTag::m_owsNpmtThr [private]

Definition at line 17 of file MuonTag.h.

bool MuonTag::m_tagRPCMuon [private]

Definition at line 18 of file MuonTag.h.

bool MuonTag::m_tagADMuon [private]

Definition at line 19 of file MuonTag.h.

bool ITagBase::m_veto [protected, inherited]

Definition at line 17 of file ITagBase.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:50:56 for SelCycler by doxygen 1.7.4