////////////////////////////////////////////////////////////////////////////// // Author: Silvia Tentindo Repond // Date: 02/04/99 // // $Id: tsim_l2stt.rcp,v 1.37 2002/09/16 01:43:30 harry Exp $ // // rcp for tsim_l2stt package // // updated : // 17-Jan-01 WML Added createSTCLut RCP value and others for the // STCLut. // 15-May-01 STR added Test Vectors // 28-JUL-01 WJT changed to optionally create root tuples // 06-Aug-01 STR use FitterType=12 for run the LUTi algo // 29-Sep-01 HBP tidy up // 26-Jan-02 HBP Add more control // 31-MAR-02 WJT Add cftres and smtres for fitter // 19 jul 02 jlw hbp new iogen stuff // 21 Jul 02 HBP Turn on Level2 output by default // 22 Jul 02 HBP Added ClusterThreshold (for TA) // 17 Aug 02 HBP Add doTFCTestVectors // 11 Sep 02 HBP Add parameters for new test vector code ////////////////////////////////////////////////////////////////////////////// // $Revision: 1.37 $ string PackageName = "tsim_l2stt" // Processing Switches ////////////////////// bool doSMT = yes bool doL1CTT = yes bool doFRC = yes bool doSTC = yes bool doClustering = yes bool doRoads = yes bool doTFC = yes bool doLevel2 = yes bool doLevel3 = yes // Debugging Switches /////////////////////// bool debugTSIM = yes bool debugL1CTT = no bool debugFRC = no bool debugSTC = no bool debugTFC = no bool debugLevel2 = no bool debugLevel3 = no bool debugSelection = no int debugChannels= 0 int debugClusters= 0 int debugRoads = 0 int debugFitter = 0 // Test Vector Switches /////////////////////// int doSMTTestVectors = 0 // 0 = No, 1 = Meena bool annotateTestVectors= no string selectBy = ("sextant", "stc", "fiber") int selectByList = ( 0, 0, 0, 0 // sextant 0, 0, 1, 1 // stc 0, 1, 0, 1) // fiber int doFRCTestVectors = 0 // 0 = No, 1 = John, 2 = Meena, 3 = John+Meena int doSTCTestVectors = 0 // 0 = No, 1 = John, 2 = Meena, 3 = John+Meena int doTFCTestVectors = 0 // 0 = No, 1 = Yes // Output files for FRC and STC test vectors as needed by John Hobbs string SMToutputPrefix = "SMTOutput string FRCoutputFile = "FRCOutput.txt" string STCoutputFile = "STCOutput.txt" string TFCoutputFile = "TFCOutput.txt" // Output file for Summaries string SummaryFile = "" // Use SummaryFile in ReadEvent.rcp // Define mapping between SMT detectors and STT RCP SMTSTTMap = // Channel Threshold for Cluster Algorithm int ChannelThreshold = 10 // Cluster Threshold for Cluster Algorithm int ClusterThreshold = 0 // dEdX thresholds int dEdXthresholds = (0 160 320 480 640 800 960 1120) // DataFLow specifications (using IOGEN objects) //////////////////////////////////////////////// // Inputs from L1CTT string InputsFromL1 = ( "DFEL2_toL2STT_thru_octant1", "DFEL2_toL2STT_thru_octant2", "DFEL2_toL2STT_thru_octant3", "DFEL2_toL2STT_thru_octant4", "DFEL2_toL2STT_thru_octant5", "DFEL2_toL2STT_thru_octant6", "DFEL2_toL2STT_thru_octant7", "DFEL2_toL2STT_thru_octant8") // Outputs to L2CTT where they will be sorted by a L2STT worker process // running in the alpha of the L2CTT crate // STT tracks per sextant (crate) string OutputSTT= ( "l2stttrack1" // Datatype CTT_STT1-6 "l2stttrack2" "l2stttrack3" "l2stttrack4" "l2stttrack5" "l2stttrack6") string OutputSTTB= ( "l2stttrack1b" // Datatype CTT_STT1-6B "l2stttrack2b" "l2stttrack3b" "l2stttrack4b" "l2stttrack5b" "l2stttrack6b" ) // CTT tracks per sextant string OutputCTTB= ( "l2ctttrack1b" // Datatype CTT_CFT1-6B "l2ctttrack2b" "l2ctttrack3b" "l2ctttrack4b" "l2ctttrack5b" "l2ctttrack6b" ) // Outputs to L3 : string OutputsToL3 = () RCP Crates = //////////////////////////////////////////////////////////////////////////// // strip FRC data flag for STCTestVectorFactory bool stripFRCData = yes; // FRC data format flag for STCTestVectorFactory bool originalFRCData = no; // enable SMT Clusters/Strip Test Vectors int doCLUSData = 1 // number of ladders for STCTestVectorFactory int NumberOfLadders = 1 // list of ladders for STCTestVectorFactory int selectBarrel = (4 4 4 4 4 4 4 4 4 4 4 4) int selectLayer = (1 2 3 4 5 5 6 6 7 7 8 8) int selectLadder = (1 1 1 1 1 2 1 12 1 12 1 2) // L1CFT sector limits for STCTestVectorFactory int selectLowL1CFTSector = 70 int selectHighL1CFTSector = 15 // enable/disable output of the road strip range for STCTestVectorFactory bool doStripRange = no bool smtTestData = false // list of road LUT file names for STCTestVectorFactory string selectLUTFile = ("lookup_table.216.dat" "lookup_table.222.dat" "lookup_table.228.dat" "lookup_table.234.dat" "lookup_table.240.dat" "lookup_table.241.dat" "lookup_table.252.dat" "lookup_table.263.dat" "lookup_table.264.dat" "lookup_table.275.dat" "lookup_table.276.dat" "lookup_table.277.dat") // Filename postfix for STCTestVectorFactory string mcType = "singlemu" // createSTCLut will only create the STCLut. The use of the // STCLut has not been implemented yet. Once the use of the Lut is // implemented, createSTCLut should always be 1 when doRoads is 1. // The default value at the moment is 0. WML 17-Jan-01 int createSTCLut = 0 // WJT DEBUG // If readSTCLutFromFile is 0 then the Lut is created // from scratch. - not implemented - int readSTCLutFromFile = 0 // STCLutInputFile is the name of the input file // STCLutInputFile is not implemented yet. All input files // must be "lookup_table.dat". //string STCLutInputFile= "lookup_table.dat" // If createOutputFile = 1, an Output file will be created // according to the other parameters below, 0 for no file int createOutputFile = 0 // STCLutOutputFile is the name of the output file // STCLutOutputFileis not implemented yet. The default // output file names will be used. //string STCLutOutputFile = "lookup_table.dat" // The outputFiletype and outputFilePacking is explained // in the code. It is best to just use the default // values of 0. // The outputFileType can be a number between 0 and 7 int outputFileType = 0 // The outputFilePacking can be a number between 0 and 3 int outputFilePacking = 0 // To output a single detector according to the index below, // set outputSingleDetector to 1. 0 outputs all detectors. int outputSingleDetector= 0 // If you want to output only a single detector, then // outputDetectorIndex is the index of the detector to be // output in packed form. // This index can be found from the barrel, layer and // ladder using the following section of code: // if (Layer<5) // return ((Barrel-1)*72 + (Layer-1)*6 + (Ladder-1)); // else // return ((Barrel-1)*72 + (Layer-5)*12 + (Ladder-1) + 24); // Valid detector indexes range between 0 and 431 //////////////////////////////////////////////////////////////// int outputDetectorIndex = 0 // If you are printing out all detectors, MultipleOutputFiles // equal to 1 will print them in one file per detector, // 0 will print in a single file. int MultipleOutputFiles = 0 // Select fitting algorithm from enumerated list (0-13) // Types 0-6 currently not implemented // enum FitType{SR4,DR4,TREE4,TREETRUNC,SR3,DR3,TREE3,PAC,SR3X3,SR3XN, // SCALED,SRLUTf,SRLUTi,DSP,NFitTypes}; int FitterType = 9 double cftres = 0.0250 double smtres = 0.0015 bool multipass = true bool beamspotcorr = false double xslope = 0.00000 double yslope = 0.00000 double xoffset = 0.0 double yoffset = 0.0 // These numbers are now input to all fitting algorithms double bscale = 1024.00 int bshift = 10 double fbout = 1.2500000e-5 double kscale = 512000.00 int kshift = 12 double fkout = 1.0000000e-7 double pscale = 4096.00 int pshift = 12 double fpout = 1.2500000e-5