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

TMBEventFlags.cpp

Go to the documentation of this file.
00001 
00002 #include "tmb_tree/TMBEventFlags.hpp"
00003 
00004 ClassImp(TMBEventFlags);
00005 
00006 TMBEventFlags::Mapping TMBEventFlags::s_mapping[] = 
00007     {
00008         { SELREPRO_1EM, "SELREPRO_1EM" },          
00009         { SELREPRO_2EM, "SELREPRO_2EM" },          
00010         { SELREPRO_1MU, "SELREPRO_1MU" },          
00011         { SELREPRO_2MU, "SELREPRO_2MU" },          
00012         { SELREPRO_EMMU, "SELREPRO_EMMU" },         
00013         { SELREPRO_QCDJET, "SELREPRO_QCDJET" },       
00014         { SELREPRO_MULTIJET, "SELREPRO_MULTIJET" },     
00015         { SELREPRO_MHT30_3CJT5, "SELREPRO_MHT30_3CJT5" },  
00016         { SELREPRO_JES, "SELREPRO_JES" },          
00017         { SKIM_1EM2JET, "SKIM_1EM2JET" },          
00018         { SKIM_1EM, "SKIM_1EM" },              
00019         { SKIM_1EMloose, "SKIM_1EMloose" },         
00020         { SKIM_1MU2JET, "SKIM_1MU2JET" },          
00021         { SKIM_1MU, "SKIM_1MU" },              
00022         { SKIM_1MUloose, "SKIM_1MUloose" },         
00023         { SKIM_2EM, "SKIM_2EM" },              
00024         { SKIM_2EMhighpt, "SKIM_2EMhighpt" },        
00025         { SKIM_2MU, "SKIM_2MU" },              
00026         { SKIM_2MUhighpt, "SKIM_2MUhighpt" },        
00027         { SKIM_3JET, "SKIM_3JET" },             
00028         { SKIM_EM1TRK, "SKIM_EM1TRK" },           
00029         { SKIM_EM2TRK, "SKIM_EM2TRK" },           
00030         { SKIM_EM_MU, "SKIM_EM_MU" },            
00031         { SKIM_Higgs, "SKIM_Higgs" },            
00032         { SKIM_JES_B, "SKIM_JES_B" },            
00033         { SKIM_JES, "SKIM_JES" },              
00034         { SKIM_JPSI, "SKIM_JPSI" },             
00035         { SKIM_MB, "SKIM_MB" },               
00036         { SKIM_METTRK, "SKIM_METTRK" },           
00037         { SKIM_MU2TRK, "SKIM_MU2TRK" },           
00038         { SKIM_NP, "SKIM_NP" },               
00039         { FASTTRACK, "FASTTRACK" },             
00040         { SKIM_QCD, "SKIM_QCD" },              
00041         { SKIM_TAU2TRK, "SKIM_TAU2TRK" },          
00042         { SKIM_ZB, "SKIM_ZB" },               
00043         { SKIM_bMU, "SKIM_bMU" },              
00044         { Stream_Prescale, "Stream_Prescale" },       
00045         { SKIM_TOP_EMU, "SKIM_TOP_EMU" },          
00046         { SKIM_TOP_ETRACK, "SKIM_TOP_ETRACK" },       
00047         { SKIM_TOP_MUTRACK, "SKIM_TOP_MUTRACK" },      
00048         { SKIM_TOP_ALLJETS, "SKIM_TOP_ALLJETS" },      
00049         { SKIM_TOP_3JET, "SKIM_TOP_3JET" },         
00050         { SKIM_TOP_EMTRIG, "SKIM_TOP_EMTRIG" },       
00051         { SKIM_TOP_JETTRIG1, "SKIM_TOP_JETTRIG1" },     
00052         { SKIM_TOP_JET_TRIG, "SKIM_TOP_JET_TRIG" },     
00053         { SKIM_TOP_MUTRIG, "SKIM_TOP_MUTRIG" },       
00054         { SKIM_TOP_MUJETBID, "SKIM_TOP_MUJETBID" },     
00055         { SKIM_AA_JPSI, "SKIM_AA_JPSI" },          
00056         { SKIM_AA_B_D0MU, "SKIM_AA_B_D0MU" },        
00057         { SKIM_AA_B_DSMU, "SKIM_AA_B_DSMU" },        
00058         { SKIM_AA_B_DSTMU_LOOSE, "SKIM_AA_B_DSTMU_LOOSE" }, 
00059         { SKIM_AA_B_DSTH, "SKIM_AA_B_DSTH" },        
00060         { SKIM_BID, "SKIM_BID" },              
00061         { SKIM_DIFF, "SKIM_DIFF" },             
00062         { HAS_JCCB, "HAS_JCCB" },              
00063         { HAS_2JCCB, "HAS_2JCCB" },             
00064         { HAS_3JCCB, "HAS_3JCCB" },             
00065         { HAS_MET_10, "HAS_MET_10" },            
00066         { HAS_MET_20, "HAS_MET_20" },            
00067         { HAS_MU_1_5, "HAS_MU_1_5" },            
00068         { HAS_MU_5, "HAS_MU_5" },              
00069         { HAS_MU_10, "HAS_MU_10" },             
00070         { HAS_2MU_1_5, "HAS_2MU_1_5" },           
00071         { HAS_2MU_5, "HAS_2MU_5" },             
00072         { HAS_2MU_10, "HAS_2MU_10" },            
00073         { HAS_ISOMU_5, "HAS_ISOMU_5" },           
00074         { HAS_ISOMU_10, "HAS_ISOMU_10" },          
00075         { HAS_2ISOMU_5, "HAS_2ISOMU_5" },          
00076         { HAS_2ISOMU_10, "HAS_2ISOMU_10" },         
00077         { HAS_EM_5, "HAS_EM_5" },              
00078         { HAS_EM_10, "HAS_EM_10" },             
00079         { HAS_EM_15, "HAS_EM_15" },             
00080         { HAS_2EM_5, "HAS_2EM_5" },             
00081         { HAS_2EM_10, "HAS_2EM_10" },            
00082         { HAS_2EM_15, "HAS_2EM_15" },            
00083         { HAS_ELE_5, "HAS_ELE_5" },             
00084         { HAS_ELE_10, "HAS_ELE_10" },            
00085         { HAS_2ELE_5, "HAS_2ELE_5" },            
00086         { HAS_2ELE_10, "HAS_2ELE_10" },           
00087         { HAS_TRK_5, "HAS_TRK_5" },             
00088         { HAS_TRK_10, "HAS_TRK_10" },            
00089         { HAS_TRK_15, "HAS_TRK_15" },            
00090         { HAS_2TRK_5, "HAS_2TRK_5" },            
00091         { HAS_2TRK_10, "HAS_2TRK_10" },           
00092         { HAS_2TRK_15, "HAS_2TRK_15" },           
00093         { HAS_ISOTRK_5, "HAS_ISOTRK_5" },          
00094         { HAS_ISOTRK_10, "HAS_ISOTRK_10" },         
00095         { HAS_2ISOTRK_5, "HAS_2ISOTRK_5" },         
00096         { HAS_2ISOTRK_10, "HAS_2ISOTRK_10" },        
00097         { HAS_TAU, "HAS_TAU" },               
00098         { HAS_2TAU, "HAS_2TAU" },              
00099         { SKIM_NP_MHT20, "SKIM_NP_MHT20" },         
00100         { SKIM_3LEP, "SKIM_3LEP" },
00101         { SKIM_TAUTRIG, "SKIM_TAUTRIG" },
00102         { SKIM_MU2TRKhighpt, "SKIM_MU2TRKhighpt" },
00103         { SKIM_2MU1TRK, "SKIM_2MU1TRK" },
00104         { HAS_CELLNN_5, "HAS_CELLNN_5" },
00105         { HAS_CELLNN_10, "HAS_CELLNN_10" },
00106         { HAS_CELLNN_15, "HAS_CELLNN_15" },
00107         { HAS_2CELLNN_3, "HAS_2CELLNN_3" },
00108         { HAS_2CELLNN_5, "HAS_2CELLNN_5" },
00109         { HAS_2CELLNN_10, "HAS_2CELLNN_10" },
00110 
00111         { (Flag )0 , 0 }
00112     };
00113 
00114 TMBEventFlags::TMBEventFlags()
00115 {
00116 }
00117 
00118 TMBEventFlags::~TMBEventFlags()
00119 {
00120 }
00121 
00122 void TMBEventFlags::AddFlag(const char *name)
00123 {
00124     AddFlag(GetFlagValue(name));
00125 }
00126 
00127  
00128 void TMBEventFlags::AddFlag(Flag flag)
00129 {
00130     if(flag < 128) {
00131         SetBitNumber((UInt_t)flag);
00132     }
00133 }
00134 
00135 Bool_t TMBEventFlags::HasFlag(Flag flag) const
00136 {
00137     return TestBitNumber((UInt_t )flag);
00138 }
00139 
00140 
00141 Bool_t TMBEventFlags::HasFlag(const char *name) const
00142 {
00143     for(Mapping *ptr = s_mapping; ptr->name != 0; ptr++) { 
00144         if(strcmp(name, ptr->name) == 0) return TestBitNumber((UInt_t )ptr->flag);
00145     }
00146     return false;
00147 }
00148 
00149 TMBEventFlags::Flag TMBEventFlags::GetFlagValue(const char *name) const
00150 {
00151     for(Mapping *ptr = s_mapping; ptr->name != 0; ptr++) { 
00152         if(strcmp(name, ptr->name) == 0) return ptr->flag;
00153     }
00154     return (Flag )128;
00155 }
00156 
00157 // Translate flag bit into string
00158 const char *TMBEventFlags::GetFlagName(Flag flag) const
00159 {
00160     for(Mapping *ptr = s_mapping; ptr->name != 0; ptr++) { 
00161         if(ptr->flag == flag) return ptr->name;
00162     }
00163     return 0;
00164 }

Generated on Tue Mar 28 10:13:04 2006 for CAF by doxygen 1.3.4