Package pylal :: Module ligolw_sqlutils :: Class parse_coinc_options
[hide private]
[frames] | no frames]

Class parse_coinc_options

source code

Instance Methods [hide private]
 
__init__(self, coincs_opt, verbose=False)
Parses --exclude-coincs and --include-coincs options.
source code
 
get_coinc_types(self) source code
 
get_coinc_filters(self, coinc_instruments_table='coinc_inspiral')
Converts self.coinc_types to a list of strings that can be used in a SQLite WHERE clause to filter coincs by coinc_type, by coinc_instruments (which is stored in the given coinc_instruments_table) in instruments_on (which is stored in the experiment table).
source code
Method Details [hide private]

__init__(self, coincs_opt, verbose=False)
(Constructor)

source code 

Parses --exclude-coincs and --include-coincs options. The class doesn't
care whether it's --include or exclude; it just takes in the input and 
creates self.coinc_types, which is a dictionary of coinc types in which the
keys are the type of time and the values are the coincidence type. For example,
if either --include-coincs or --exclude coincs is set to "[h2,l1 in h1,h2,l1]"
self.coinc_types will be:
    coinc_types[ frozenset(H1,H2,L1) ] = set(H2,L1)
    

@coincs_opt: the input from either --exclude-coincs or --include-coincs.
 This input must follow these format rules (the following can be copied
 into the help message for --input/exclude-coincs opts):
    * Coinc-types and detector time must be separated by 
    an ' in '. When specifying a coinc_type or detector    
    time, detectors and/or ifos must be separated by 
    commas, e.g. 'H1,L1' not 'H1L1'.                     
    * To specify multiple coinc-types in one type of time,
    separate each coinc-type by a '+', e.g., 
    '[H1,H2 + H2,L1 in H1,H2,L1]'.                        
    * To specify all the coincs in a detector time 
    or a specific coinc-type in all times, use 'ALL'. E.g.,
    to exclude/include all H1,H2 triggers, use '[H1,H2 in ALL]' 
    or to exclude/include all H2,L1 time use '[ALL in H2,L1]'.   
    * To specify multiple exclusions, separate each 
    bracket by a ';'.                              
    * Order of the instruments nor case of the letters 
    matter. So if your pinky is broken and you're      
    dyslexic you can type '[h2,h1 in all]' without a 
    problem.
@verbose: be verbose.