STAR Automated Calibration Project

Project Summary (quoted from the Ongoing activities):

The main project objective is to move toward a more automated calibration framework whereas migration from one chain to another chain (distortion correction) would be triggered by a criteria (resolution, convergence) rather than a manual change. This work may leverage the FastOffline framework (which was a first attempt to make automated calibration a reality; currently modified by hand and the trigger mechanism is not present / implemented).

 

Project Details:

 

 

DB Tables for AutoCalib

 Initial version

Location: These tables reside in the AutoCalib database on db09:3306.

General layout:

  • One table for the current subsystem states
  • One table for the base chain options for a given colliding system
  • Multiple tables for production chain options for given subsystem states

Table structures:

All tables include an entryTime timestamp recording when entries were made.

  • The state table includes an entryTime, marking when the change of state(s) occur, and integers for each subsystem state. In this version, the subsystems include QA, TPC, and EMC. Here is the create statement:
    create table state (entryTime timestamp default current_timestamp, QA int, TPC int, EMC int);
  • The base chain table records chain options specific to a given colliding system (see below for examples) and validity time (e.g. the Run 6 pp base chain options differ from the Run 9 pp base chain options):
    create table baseChain (entryTime timestamp default current_timestamp, beginTime timestamp, collision varchar(16), chain tinytext);
  • The subsystem chain tables store chain options specific to a subsystem state and validity time:
    create table qaChain (entryTime timestamp default current_timestamp, beginTime timestamp, qaState int, chain tinytext);
    create table tpcChain (entryTime timestamp default current_timestamp, beginTime timestamp, tpcState int, chain tinytext);
    create table emcChain (entryTime timestamp default current_timestamp, beginTime timestamp, emcState int, chain tinytext);
    

A final chain will be constructed using only the colliding system and timestamp of the data to be processed as inputs, using the current state of the subsystems as recorded in the state table. With the proper chain options stored in the chain tables, control of the production chain will require only changing subsystem state (encoded as an integer) within the state table.

Examples:

To demonstrate content, here is an example set of commands to populate these tables:

insert into state (QA,TPC,EMC) values (0,1,0);
insert into state (entryTime,QA,TPC,EMC) values ("2008-07-15 15:00:00",1,1,0);

insert into baseChain (entryTime,beginTime,collision,chain) values ('2006-01-01','2006-01-01','PPPP','pp2006a,ittf,ezTree');
insert into baseChain (entryTime,beginTime,collision,chain) values ('2006-03-01','2006-01-01','PPPP','pp2006b,ittf,ezTree');
insert into baseChain (entryTime,beginTime,collision,chain) values ('2007-01-01','2007-01-01','AuAu','p2007a,ittf,ezTree');
insert into baseChain (entryTime,beginTime,collision,chain) values ('2007-04-26 17:51:28','2007-01-01','AuAu','p2007b,ittf,ezTree');
insert into baseChain (entryTime,beginTime,collision,chain) values ('2007-11-25','2007-11-25','dAu','P2008b,ITTF');
insert into baseChain (entryTime,beginTime,collision,chain) values ('2008-01-29','2008-01-29','PPPP','pp2008a,ITTF');
insert into baseChain (entryTime,beginTime,collision,chain) values ('2008-03-10 12:00:00','2008-03-10 12:00:00','AuAu','pp2008a,ITTF');

insert into qaChain (entryTime,beginTime,qaState,chain) values ('2007-01-01','2007-01-01',0,'QAAlltrigs');
insert into qaChain (entryTime,beginTime,qaState,chain) values ('2007-01-01','2007-01-01',1,'');

insert into tpcChain (entryTime,beginTime,tpcState,chain) values ('2006-01-01','2006-01-01',0,'');
insert into tpcChain (entryTime,beginTime,tpcState,chain) values ('2006-01-01','2006-01-01',1,'Corr2');
insert into tpcChain (entryTime,beginTime,tpcState,chain) values ('2006-01-01','2006-01-01',2,'Corr3');
insert into tpcChain (entryTime,beginTime,tpcState,chain) values ('2006-01-01','2006-01-01',3,'Corr4');
insert into tpcChain (entryTime,beginTime,tpcState,chain) values ('2006-01-01','2006-01-01',4,'Corr4,OSpaceZ2,OGridLeak3D');

insert into emcChain (entryTime,beginTime,emcState,chain) values ('2007-11-25','2007-11-25',0,'');
insert into emcChain (entryTime,beginTime,emcState,chain) values ('2007-11-25','2007-11-25',1,'BEmcChkStat');
insert into emcChain (entryTime,beginTime,emcState,chain) values ('2007-11-25','2007-11-25',2,'');

AutoCalibration service work using these tables were developed.