|
ATLAS Offline Software
|
#include <CMApatterns.h>
|
| CMApatterns (int, const CMAparameters *, unsigned long int) |
|
| CMApatterns (const CMApatterns &) |
|
CMApatterns | operator= (const CMApatterns &) |
|
bool | operator== (const CMApatterns &) const |
|
bool | operator!= (const CMApatterns &) const |
|
bool | operator< (const CMApatterns &) const |
|
void | load_digit (const RPCdigit *) |
|
CMApatterns & | operator<< (const RPCdigit *) |
|
unsigned long int | debug (void) const |
|
int | sector (void) const |
|
const CMAparameters & | cma_parameters (void) const |
|
const bitPATTERN & | pivot0 (void) const |
|
const bitPATTERN & | pivot1 (void) const |
|
const bitPATTERN & | lowPt0 (void) const |
|
const bitPATTERN & | lowPt1 (void) const |
|
const bitPATTERN & | highPt0 (void) const |
|
const bitPATTERN & | highPt1 (void) const |
|
void | coincidence_distance (TRIGdistance &, TRIGdistance &) const |
|
const TRIGdistance | lowest_distance (const bitPATTERN &, const bitPATTERN &) const |
|
const TRIGdistance | distance (const RPCdigit *, const RPCdigit *) const |
|
const CMAtrigger | give_trigger (Lvl1RPCalgo) const |
|
Matrix * | give_low_pt_matrix (uint NOBXS, uint BCZERO) |
|
Matrix * | give_high_pt_matrix (uint NOBXS, uint BCZERO) |
|
void | Print (std::ostream &, bool) const |
|
void | set_number (int) |
|
int | number (void) const |
|
void | PrintElement (std::ostream &, std::string, bool) const |
|
ObjectType | tag () const |
|
const std::string & | name () const |
|
|
bitPATTERN | decluster (const bitPATTERN &) const |
|
bitPATTERN | majority (bitPATTERN &, bitPATTERN &) const |
|
void | update_distance (const TRIGdistance &, TRIGdistance &) const |
|
CMAtrigger | find_trigger (const bitPATTERN &, const bitPATTERN &, const bitPATTERN &) const |
|
CMAtrigger | find_trigger (const bitPATTERN &, const bitPATTERN &, const bitPATTERN &, const bitPATTERN &) const |
|
CMAtrigger | trigger_window (TRIGdistance, TrigType) const |
|
CMAtrigger | trigger_threshold (int, int, TrigType) const |
|
void | search_for_lowPt (Lvl1RPCalgo, TrigSigns &) const |
|
void | search_for_highPt (Lvl1RPCalgo, TrigSigns &) const |
|
void | search_signatures (Lvl1RPCalgo, TrigType, TrigSigns &, const bitPATTERN &, const bitPATTERN &) const |
|
void | search_signatures (Lvl1RPCalgo, TrigType, CMAtrigger &, const bitPATTERN &) const |
|
void | create_hardware (TrigType, uint NOBXS, uint BCZERO) |
|
void | load_data (int, int, const bitPATTERN &, Matrix *) |
|
Definition at line 20 of file CMApatterns.h.
◆ TRIGdistance
◆ TRIGlist
◆ TrigSigns
◆ CMApatterns() [1/2]
CMApatterns::CMApatterns |
( |
int |
sector, |
|
|
const CMAparameters * |
cma, |
|
|
unsigned long int |
debug |
|
) |
| |
◆ CMApatterns() [2/2]
◆ cma_parameters()
◆ coincidence_distance()
◆ create_hardware()
Definition at line 720 of file CMApatterns.cxx.
732 int lohi = (
type ==
Low) ? 0 : 1;
741 address,localAdd, NOBXS, BCZERO);
757 matrix->setLocalDirection(0,7);
758 matrix->setLocalDirection(1,7);
787 for (
int ch=0;
ch<pivot_ch; ++
ch)
805 for (
int ch=0;
ch<pivot_ch; ++
ch)
826 for (
int ch=0;
ch<pivot_ch; ++
ch)
834 matrix->setMajority(0,maj_th0);
835 matrix->setMajority(1,maj_th1);
836 matrix->setMajority(2,maj_th2);
841 matrix->setMatOverlap(0, ovl1);
842 matrix->setMatOverlap(1, ovl2);
872 for (
int ch=0;
ch<pivot_ch; ++
ch)
888 for (
int ch=0;
ch<pivot_ch; ++
ch)
909 for (
int ch=0;
ch<pivot_ch; ++
ch)
916 matrix->setMajority(0,maj_th0);
917 matrix->setMajority(1,maj_th1);
918 matrix->setMajority(2,maj_th2);
921 matrix->setMatOverlap(0, ovl1);
922 matrix->setMatOverlap(1, ovl2);
◆ debug()
unsigned long int CMApatterns::debug |
( |
void |
| ) |
const |
|
inline |
◆ decluster()
Definition at line 119 of file CMApatterns.cxx.
128 int cluster_size = 0;
129 do { ++cluster_size; }
while(
pattern.test(
i+cluster_size) );
132 int decl_upper = cluster_size;
134 switch (cluster_size%2)
137 for( ;decl_lower+1 < decl_upper && decl_lower<=3; ++decl_lower)
144 for( ;decl_lower+1 < decl_upper && decl_lower<=3; ++decl_lower)
151 i += (cluster_size - 1);
◆ distance()
Definition at line 253 of file CMApatterns.cxx.
266 float Zprime = pivot->
z()*(conrad/pivrad);
275 if( pivot->
phi(pivphi) &&
280 float Sprime =
tan(pivphi-staphi)*conrad;
281 value.first =
tan(conphi-staphi)*conrad - Sprime;
◆ find_trigger() [1/2]
Definition at line 466 of file CMApatterns.cxx.
473 if ( !pivot.
any() || !
lowPt.any() )
return trigger_result;
475 for(
int i=0;
i<pivot.
size();++
i)
477 if(
const RPCdigit* pivot_digit = pivot[
i])
480 for(
int j=0;j<
lowPt.size();++j)
488 trigger_result += signature;
492 if ( trigger_result.trigger().searchForHigh() )
502 trigger_result += signature;
504 if( trigger_result.trigger().highest(
High) )
break;
507 if ( trigger_result.trigger().highest(
High) )
break;
510 if ( trigger_result.trigger().highest(
High) )
break;
513 return trigger_result;
◆ find_trigger() [2/2]
Definition at line 518 of file CMApatterns.cxx.
524 if ( !pivot.
any() || !
lowPt.any() )
return trigger_result;
526 for(
int i=0;
i<pivot.
size();++
i)
528 if(
const RPCdigit* pivot_digit = pivot[
i])
531 for(
int j=0;j<
lowPt.size();++j)
539 trigger_result += signature;
543 if ( trigger_result.trigger().searchForHigh() )
553 trigger_result += signature;
555 if( trigger_result.trigger().highest(
High) )
break;
560 if ( trigger_result.trigger().searchForHigh() )
570 trigger_result += signature;
572 if( trigger_result.trigger().highest(
High) )
break;
575 if ( trigger_result.trigger().highest(
High) )
break;
578 if ( trigger_result.trigger().highest(
High) )
break;
581 return trigger_result;
◆ give_high_pt_matrix()
◆ give_low_pt_matrix()
◆ give_trigger()
◆ highPt0()
◆ highPt1()
◆ load_data()
◆ load_digit()
◆ lowest_distance()
◆ lowPt0()
◆ lowPt1()
◆ majority()
◆ name()
const std::string& BaseObject::name |
( |
| ) |
const |
|
inlineinherited |
◆ number()
int RPCtrigDataObject::number |
( |
void |
| ) |
const |
|
inlineinherited |
◆ operator!=()
◆ operator<()
◆ operator<<()
◆ operator=()
◆ operator==()
◆ pivot0()
◆ pivot1()
◆ Print()
void CMApatterns::Print |
( |
std::ostream & |
stream, |
|
|
bool |
detail |
|
) |
| const |
|
virtual |
◆ PrintElement()
void RPCtrigDataObject::PrintElement |
( |
std::ostream & |
, |
|
|
std::string |
, |
|
|
bool |
|
|
) |
| const |
|
inlineinherited |
◆ search_for_highPt()
◆ search_for_lowPt()
◆ search_signatures() [1/2]
Definition at line 417 of file CMApatterns.cxx.
426 const int Kpatt = trigger_result.
Kpatt();
431 for(
int j=0;j<
confirm.size();++j)
448 signature.set_pivot(pivot_digit);
449 signature.set_lowPt(confirm_digit);
451 else if(trigType ==
High)
453 signature.set_highPt(confirm_digit);
455 signature.set_width(
d.first);
456 signature.set_Kpatt(Kpatt);
457 trigger_result += signature;
◆ search_signatures() [2/2]
Definition at line 362 of file CMApatterns.cxx.
370 for(
int i=0;
i<pivot.
size();++
i)
372 if(
const RPCdigit* pivot_digit = pivot[
i])
377 for(
int j=0;j<
confirm.size();++j)
395 signature.set_pivot(pivot_digit);
396 signature.set_lowPt(confirm_digit);
398 else if(trigType ==
High)
400 signature.set_highPt(confirm_digit);
402 signature.set_width(
d.first);
403 signature.set_Kpatt(
i);
404 trigger_result += signature;
409 if(trigger_result.trigger().type()!=
None)
◆ sector()
int CMApatterns::sector |
( |
void |
| ) |
const |
|
inline |
◆ set_number()
void RPCtrigDataObject::set_number |
( |
int |
number | ) |
|
|
inherited |
◆ tag()
◆ trigger_threshold()
Definition at line 629 of file CMApatterns.cxx.
637 const bool* program = 0;
647 program =
prog->registers();
659 program =
prog->registers();
◆ trigger_window()
Definition at line 585 of file CMApatterns.cxx.
593 int upper_threshold = (
type ==
Low)? 2 : 4;
594 int lower_threshold = (
type ==
Low)? 0 : 3;
596 for(
int i=upper_threshold;
i >= lower_threshold;--
i)
614 if(fabsf(dist.first)<10.0)
620 if(fabsf(dist.first)<10.0)
◆ update_distance()
Definition at line 190 of file CMApatterns.cxx.
192 if(fabsf(NEW.first) < fabsf(OLD.first)) OLD = NEW;
◆ m_cma_parameters
◆ m_debug
unsigned long int CMApatterns::m_debug |
|
private |
◆ m_high_pt_matrix
std::unique_ptr<Matrix> CMApatterns::m_high_pt_matrix |
|
private |
◆ m_highPt0
◆ m_highPt1
◆ m_low_pt_matrix
std::unique_ptr<Matrix> CMApatterns::m_low_pt_matrix |
|
private |
◆ m_lowPt0
◆ m_lowPt1
◆ m_name
std::string BaseObject::m_name |
|
privateinherited |
◆ m_number
int RPCtrigDataObject::m_number |
|
privateinherited |
◆ m_pivot0
◆ m_pivot1
◆ m_sector
int CMApatterns::m_sector |
|
private |
◆ m_tag
◆ no_distance
The documentation for this class was generated from the following files:
bool station_radius(float &) const
char data[hepevt_bytes_allocation_ATLAS]
RPCtrigDataObject(int, const std::string &)
const std::string & name() const
std::unique_ptr< Matrix > m_low_pt_matrix
bitPATTERN majority(bitPATTERN &, bitPATTERN &) const
std::vector< std::string > patterns
const CMAprogram * lowPt_program() const
void set(const RPCdigit *, int)
void Print(std::ostream &, bool detail) const
const PATTERNidentity & id(void) const
void load_data(int, int, const bitPATTERN &, Matrix *)
static const TRIGdistance no_distance
const CMAidentity & id() const
const bitPATTERN & highPt0(void) const
std::pair< float, float > TRIGdistance
const bitPATTERN & pivot0(void) const
std::unique_ptr< Matrix > m_high_pt_matrix
void set_highPt(const RPCdigit *)
static constexpr int confirm_channels
void set_pivot(const RPCdigit *)
const RPCdigit * pivot_hit(void) const
CMAtrigger trigger_threshold(int, int, TrigType) const
const CMAparameters & cma_parameters(void) const
uint8_t trig_thr0_maj_reg() const
POOL::TEvent event(POOL::TEvent::kClassAccess)
bool station_phi(float &) const
uint8_t trig_thr1_maj_reg() const
CMAtrigger trigger_window(TRIGdistance, TrigType) const
const CMAprogram * highPt_program() const
void create_hardware(TrigType, uint NOBXS, uint BCZERO)
const CMAparameters * m_cma_parameters
unsigned long int m_debug
void load_digit(const RPCdigit *)
const bitPATTERN & highPt1(void) const
void update_distance(const TRIGdistance &, TRIGdistance &) const
unsigned long int debug(void) const
bool give_connection(int, int, CMAinput &, int &, int &) const
const uint32_t * bytes(void) const
const bitPATTERN & lowPt1(void) const
uint32_t overlap1(void) const
std::vector< std::string > signatures(const std::string &chain)
const bitPATTERN & lowPt0(void) const
std::priority_queue< CMAtrigger > TrigSigns
uint8_t trig_thr2_maj_reg() const
const TRIGGERidentity & trigger(void) const
def time(flags, cells_name, *args, **kw)
ViewType view(void) const
bool searchForHigh(void) const
void search_for_lowPt(Lvl1RPCalgo, TrigSigns &) const
const RPCdecoder & decoding(void) const
void search_signatures(Lvl1RPCalgo, TrigType, TrigSigns &, const bitPATTERN &, const bitPATTERN &) const
const TRIGdistance lowest_distance(const bitPATTERN &, const bitPATTERN &) const
static constexpr int pivot_channels
uint32_t overlap2(void) const
const bitPATTERN & pivot1(void) const
bitPATTERN decluster(const bitPATTERN &) const
const TRIGdistance distance(const RPCdigit *, const RPCdigit *) const
void set_lowPt(const RPCdigit *)
void search_for_highPt(Lvl1RPCalgo, TrigSigns &) const
bool station_eta(float &) const
int windows(float distance, float eta_pivot, int thr, int sector)