Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:15:33

0001 WITH good_runs AS (
0002 
0003   SELECT runnumber
0004   FROM filelist
0005   WHERE (
0006     (filename LIKE '%@RUNTYPE@/%ebdc%' AND filename LIKE '%.evt') OR
0007     (filename LIKE '%@RUNTYPE@/%mvtx%' AND filename LIKE '%.evt') OR
0008     (filename LIKE '%@RUNTYPE@/%intt%' AND filename LIKE '%.evt')
0009   )
0010 
0011   GROUP BY runnumber
0012   HAVING
0013     COUNT(DISTINCT CASE
0014       WHEN filename LIKE '%TPC_ebdc%' AND filename LIKE '%-0000.evt'
0015       THEN SUBSTRING(filename FROM 'TPC_ebdc(\d{2}_\d)')
0016       END) = 48
0017 
0018   AND
0019 
0020     COUNT(DISTINCT CASE
0021       WHEN filename LIKE '%mvtx%' AND filename LIKE '%-0000.evt'
0022       THEN SUBSTRING(filename FROM 'mvtx(\d+)')
0023       END) = 6
0024 
0025   AND
0026 
0027     COUNT(DISTINCT CASE
0028       WHEN filename LIKE '%intt%' AND filename LIKE '%-0000.evt'
0029       THEN SUBSTRING(filename FROM 'intt(\d+)')
0030       END) = 8
0031 
0032 
0033   @TRANSFER_CONDITION@
0034 )
0035 
0036 SELECT
0037   r.runnumber,
0038   r.runtype,
0039   r.brtimestamp,
0040   r.ertimestamp,
0041   r.eventsinrun AS total_events,
0042   ROUND(EXTRACT(EPOCH FROM r.ertimestamp - r.brtimestamp)) AS duration_sec,
0043   ROUND(r.eventsinrun::numeric / NULLIF(EXTRACT(EPOCH FROM r.ertimestamp - r.brtimestamp), 0), 2) AS event_rate
0044 FROM good_runs gr
0045 JOIN run r ON r.runnumber = gr.runnumber
0046 WHERE r.runtype = '@RUNTYPE@'
0047   AND r.eventsinrun > 0
0048   AND r.brtimestamp IS NOT NULL
0049   AND r.ertimestamp IS NOT NULL
0050   AND EXTRACT(EPOCH FROM r.ertimestamp - r.brtimestamp) >= 300
0051 ORDER BY r.runnumber DESC;
0052