Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

TMuiPseudoBLTO.cxx

Go to the documentation of this file.
00001 #include<TMuiPseudoBLTO.h>
00002 #include<TDataType.h>
00003 
00004 ClassImp(TMuiPseudoBLTO)
00005 ClassImp(TMuiPseudoBLTO_v1)
00006   
00007 TMuiPseudoBLTO_v1::TMuiPseudoBLTO_v1() :
00008   _arm(0),
00009   _index(0),
00010   _is_2D(false),
00011   _is_1D1S(false),
00012   _is_1D_quad0(false),
00013   _is_1D_quad1(false),
00014   _is_1D_quad2(false),
00015   _is_1D_quad3(false),
00016   _is_1S_quad0(false),
00017   _is_1S_quad1(false),
00018   _is_1S_quad2(false),
00019   _is_1S_quad3(false),
00020   _is_reco_2D(false),
00021   _is_reco_1D1S(false),
00022   _is_reco_1D_quad0(false),
00023   _is_reco_1D_quad1(false),
00024   _is_reco_1D_quad2(false),
00025   _is_reco_1D_quad3(false),
00026   _is_reco_1S_quad0(false),
00027   _is_reco_1S_quad1(false),
00028   _is_reco_1S_quad2(false),
00029   _is_reco_1S_quad3(false)
00030 {;}
00031 
00032 TMuiPseudoBLTO_v1::TMuiPseudoBLTO_v1(const Key& key,
00033                                      UShort_t arm,
00034                                      UShort_t index) :
00035   TMuiPseudoBLTO(key),
00036   _arm(arm),
00037   _index(index),
00038   _is_2D(false),
00039   _is_1D1S(false),
00040   _is_1D_quad0(false),
00041   _is_1D_quad1(false),
00042   _is_1D_quad2(false),
00043   _is_1D_quad3(false),
00044   _is_1S_quad0(false),
00045   _is_1S_quad1(false),
00046   _is_1S_quad2(false),
00047   _is_1S_quad3(false),
00048   _is_reco_2D(false),
00049   _is_reco_1D1S(false),
00050   _is_reco_1D_quad0(false),
00051   _is_reco_1D_quad1(false),
00052   _is_reco_1D_quad2(false),
00053   _is_reco_1D_quad3(false),
00054   _is_reco_1S_quad0(false),
00055   _is_reco_1S_quad1(false),
00056   _is_reco_1S_quad2(false),
00057   _is_reco_1S_quad3(false)
00058 {;}
00059 
00060 
00061 TMuiPseudoBLTO_v1::TMuiPseudoBLTO_v1(const TMuiPseudoBLTO* base_ptr) :
00062   TMuiPseudoBLTO(*base_ptr),
00063   _arm(base_ptr->get_arm()),
00064   _index(base_ptr->get_index()),
00065   _is_2D(base_ptr->is_2D_fired()),
00066   _is_1D1S(base_ptr->is_1D1S_fired()),
00067   _is_1D_quad0(base_ptr->is_1D_fired(0)),
00068   _is_1D_quad1(base_ptr->is_1D_fired(1)),
00069   _is_1D_quad2(base_ptr->is_1D_fired(2)),
00070   _is_1D_quad3(base_ptr->is_1D_fired(3)),
00071   _is_1S_quad0(base_ptr->is_1S_fired(0)),
00072   _is_1S_quad1(base_ptr->is_1S_fired(1)),
00073   _is_1S_quad2(base_ptr->is_1S_fired(2)),
00074   _is_1S_quad3(base_ptr->is_1S_fired(3)),
00075   _is_reco_2D(base_ptr->is_reco_2D_fired()),
00076   _is_reco_1D1S(base_ptr->is_reco_1D1S_fired()),
00077   _is_reco_1D_quad0(base_ptr->is_reco_1D_fired(0)),
00078   _is_reco_1D_quad1(base_ptr->is_reco_1D_fired(1)),
00079   _is_reco_1D_quad2(base_ptr->is_reco_1D_fired(2)),
00080   _is_reco_1D_quad3(base_ptr->is_reco_1D_fired(3)),
00081   _is_reco_1S_quad0(base_ptr->is_reco_1S_fired(0)),
00082   _is_reco_1S_quad1(base_ptr->is_reco_1S_fired(1)),
00083   _is_reco_1S_quad2(base_ptr->is_reco_1S_fired(2)),
00084   _is_reco_1S_quad3(base_ptr->is_reco_1S_fired(3))
00085 {;}
00086 
00087 TMuiPseudoBLTO_v1::TMuiPseudoBLTO_v1(const TMuiPseudoBLTO& base_ref) :
00088   TMuiPseudoBLTO(base_ref),
00089   _arm(base_ref.get_arm()),
00090   _index(base_ref.get_index()),
00091   _is_2D(base_ref.is_2D_fired()),
00092   _is_1D1S(base_ref.is_1D1S_fired()),
00093   _is_1D_quad0(base_ref.is_1D_fired(0)),
00094   _is_1D_quad1(base_ref.is_1D_fired(1)),
00095   _is_1D_quad2(base_ref.is_1D_fired(2)),
00096   _is_1D_quad3(base_ref.is_1D_fired(3)),
00097   _is_1S_quad0(base_ref.is_1S_fired(0)),
00098   _is_1S_quad1(base_ref.is_1S_fired(1)),
00099   _is_1S_quad2(base_ref.is_1S_fired(2)),
00100   _is_1S_quad3(base_ref.is_1S_fired(3)),
00101   _is_reco_2D(base_ref.is_reco_2D_fired()),
00102   _is_reco_1D1S(base_ref.is_reco_1D1S_fired()),
00103   _is_reco_1D_quad0(base_ref.is_reco_1D_fired(0)),
00104   _is_reco_1D_quad1(base_ref.is_reco_1D_fired(1)),
00105   _is_reco_1D_quad2(base_ref.is_reco_1D_fired(2)),
00106   _is_reco_1D_quad3(base_ref.is_reco_1D_fired(3)),
00107   _is_reco_1S_quad0(base_ref.is_reco_1S_fired(0)),
00108   _is_reco_1S_quad1(base_ref.is_reco_1S_fired(1)),
00109   _is_reco_1S_quad2(base_ref.is_reco_1S_fired(2)),
00110   _is_reco_1S_quad3(base_ref.is_reco_1S_fired(3))
00111 {;}
00112 
00113 bool TMuiPseudoBLTO_v1::check_2D_trigger() const {
00114   
00115   // This is a self-consistency check between 1D trigger decision
00116   // we get from emulator and 2D trigger decision we get from emulator.
00117   // The ideal is that if one can find two different quadrant both have
00118   // 1D trigger fired, one should also find 2D trigger fired for this event.
00119   // Otherwise, SOMEONE SETS US A BOMB !!!
00120   //
00121   bool consistency = false;
00122 
00123   for( UShort_t iquad = 0; iquad < 3; iquad++) {
00124     if(is_1D_fired(iquad)) {
00125       for(UShort_t jquad = iquad+1; jquad < 4; jquad++) {
00126         if(is_1D_fired(jquad)) {
00127           consistency = true;
00128           return consistency;
00129         }
00130       }
00131     }
00132   }
00133   
00134   return consistency;
00135 }
00136 
00137 bool TMuiPseudoBLTO_v1::check_1D1S_trigger() const {
00138   
00139   // This is a self-consistency check between 1D/1S trigger decision
00140   // we get from emulator and 1D1S trigger decision we get from emulator.
00141   // The ideal is that if one can find one quadrant has
00142   // 1D trigger fired and another quadrant had 1S/1D trigger fired, 
00143   // one should also find 1D1S trigger fired for this event.
00144   // Otherwise, SOMEONE SETS US AN ATOMIC BOMB !!!
00145   //
00146   bool consistency = false;
00147 
00148   for( UShort_t iquad = 0; iquad < 4; iquad++) {
00149     if(is_1D_fired(iquad)) {
00150       for(UShort_t jquad = 0; jquad < 4; jquad++) {
00151         if((is_1D_fired(jquad)||is_1S_fired(jquad))&&(jquad!=iquad)) {
00152           consistency = true;
00153           return consistency;
00154         }
00155       }
00156     }
00157   }  
00158   return consistency;
00159 }
00160 
00161 
00162 
00163 
00164 
00165 
00166 

MUIOO: PHENIX Muon Identifier Analysis Framework. Documentation by doxygen
Last modified: