...
- gtobssim:
The event type partition has been added as an option for gtobssim. Examples for P8R2_SOURCE_V6:
Code Block gtobssim irfs=P8R2_SOURCE_V6 evtype=none gtobssim irfs=P8R2_SOURCE_V6 evtype=PSF gtobssim irfs=P8R2_SOURCE_V6 evtype=EDISP
evtype=none is the default, in which case the application will use the front/back partition, consistent with pre-Pass 8 behavior.
For evtype=[PSF,EDISP], DSS keywords specifying the event_type partition that was used will be written to the FT1 files that are produced. These keywords will show the bit pattern that would be used to mask to obtain the corresponding partition, e.g., for evtype=PSF:
Code Block DSTYP2: BIT_MASK(EVENT_CLASS,128,P8R2) DSUNI2: DIMENSIONLESS DSVAL2: 1:1 DSTYP2: BIT_MASK(EVENT_TYPE,60,P8R2) DSUNI2: DIMENSIONLESS DSVAL2: 1:1
Here 60 = 0b111100, the binary representation of the mask with bits 2-5 set. Note that the event_type DSS keywords will be omitted for the front/back partition.
- Since there is no information in the IRFs on cross-membership between event_type partitions, only bits for the selected partition will be set in the FT1 file. This means that choosing event_types in gtselect for a different partition will result in no events passing the cut.
- gtselect
- The evtype option has been added, and DSS keywords indicating this selection will be written.
For both evclass and evtype, the user must specify the integer corresponding to bit-mask that selects the desired events within a single partition:
Code Block gtselect evclass=128 evtype=3 # P8R2_SOURCE_V6, front and back (i.e., all) events gtselect evclass=128 evtype=1 # P8R2_SOURCE_V6, front-only events gtselect evclass=128 evtype=60 # P8R2_SOURCE_V6, PSF[0-3] (all) events gtselect evclass=256 evtype=960 # P8R2_CLEAN_V6, EDISP[0-3] (all) events
The evtype=[3,60,960] selections all return all of the events, but they also specify the irfs corresponding to the event_type partition selected. This information is written to the DSS keywords and read by downstream tools.
- evtype selections that cross partitions can be specified, but the behavior of the downstream tools (i.e., which irfs are used) is undefined. At some point, we will add code to guard against invalid selections.
- gtdiffrsp
- evtype has been added as a hidden parameter.
- If DSS keywords are in the input FT1 file (e.g., from gtselect or gtobssim), then gtdiffrsp will read those keywords to determine which event_type partition to use for computing the diffuse responses. If no DSS keywords are present, then the evtype option will used to determine the partition. If it is omitted, then front/back will be used.
- The value of evtype must be the integer representation of the full bit-mask corresponding to the desired partition, i.e., evtype=[3,60,960] for F/B, PSF, and EDISP, respectively.
- The DSS keywords will be updated with the evtype selection and this will indicate the event_type partition used in computing the diffuse response columns.
- gtexpcube2
- If the cmap argument is missing, the DSS keywords from that input file will provide the information to determine the event_class and event_type selections.
- The user can override the geometry of the cmap file. This will allow exposure maps larger than the cmap to be specified. The energy planes will be read from the cmap file, so these would no longer need to be specified by hand, but they could still be over-ridden.
- gtirfs
The output will be expanded to indicate event_type partitions:
Code Block $ gtirfs <...output for P7* irfs...> P8R2_CLEAN_V6 ( = P8R2_CLEAN_V6::BACK + P8R2_CLEAN_V6::FRONT ) P8R2_CLEAN_V6 (EDISP) ( = P8R2_CLEAN_V6::EDISP0 + P8R2_CLEAN_V6::EDISP1 + P8R2_CLEAN_V6::EDISP2 + P8R2_CLEAN_V6::EDISP3 ) P8R2_CLEAN_V6 (PSF) ( = P8R2_CLEAN_V6::PSF0 + P8R2_CLEAN_V6::PSF1 + P8R2_CLEAN_V6::PSF2 + P8R2_CLEAN_V6::PSF3 ) P8R2_CLEAN_V6::BACK P8R2_CLEAN_V6::EDISP0 P8R2_CLEAN_V6::EDISP1 P8R2_CLEAN_V6::EDISP2 P8R2_CLEAN_V6::EDISP3 P8R2_CLEAN_V6::FRONT P8R2_CLEAN_V6::PSF0 P8R2_CLEAN_V6::PSF1 P8R2_CLEAN_V6::PSF2 P8R2_CLEAN_V6::PSF3 P8R2_SOURCE_V6 ( = P8R2_SOURCE_V6::BACK + P8R2_SOURCE_V6::FRONT ) P8R2_SOURCE_V6 (EDISP) ( = P8R2_SOURCE_V6::EDISP0 + P8R2_SOURCE_V6::EDISP1 + P8R2_SOURCE_V6::EDISP2 + P8R2_SOURCE_V6::EDISP3 ) P8R2_SOURCE_V6 (PSF) ( = P8R2_SOURCE_V6::PSF0 + P8R2_SOURCE_V6::PSF1 + P8R2_SOURCE_V6::PSF2 + P8R2_SOURCE_V6::PSF3 ) P8R2_SOURCE_V6::BACK P8R2_SOURCE_V6::EDISP0 P8R2_SOURCE_V6::EDISP1 P8R2_SOURCE_V6::EDISP2 P8R2_SOURCE_V6::EDISP3 P8R2_SOURCE_V6::FRONT P8R2_SOURCE_V6::PSF0 P8R2_SOURCE_V6::PSF1 P8R2_SOURCE_V6::PSF2 P8R2_SOURCE_V6::PSF3 <...output for remainder of P8R2 irfs...>
...