]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/READMEshuttle
new lookup table for sim. data with numberof TRMs
[u/mrichter/AliRoot.git] / MUON / READMEshuttle
CommitLineData
aa9dd72b 1$Id$
2
e661d480 3How to test the Shuttle preprocessor(s) for MUON.
4
5We will get two "logical" MUON preprocessors : one for the tracker and one for the trigger.
6Both will manage several subtasks (e.g. the tracker one will handle pedestals,
7 gains and deadchannels, while the trigger one will handle masks and trigger lut)
8"Physically", only one class will manage both the tracker and the trigger : AliMUONPreprocessor.
9Depending on the subsystem and on the task to be performed (based on the run type), this class
10 will instanciate the correct set of AliMUONVSubProcessor(s) which does the actual job.
11Output of most processors will end up in OCDB (Offine Condition DataBase). A set of helper functions
12 to peek at this OCDB are gathered in MUONCDB.C macro.
13
14-------
15TestMUONPreprocessor.C
16-------
17
18This is the master macro used to check the MUON part of the Shuttle.
19Depending on what you want to test, you'll have to modify the input files
20(using shuttle->AddInputFile) and/or the run type (using shuttle->AddInputRunParameter())
21
22-------
23AliMUONPreprocessor(const TString& detName)
24-------
25
26Depending on how this one is constructed, and depending on the runtype, it will
27 perform differents tasks. Note that for the moment the runtypes are "fake", i.e.
28 put by hand in the TestMUONPreprocessor.C macro, and might not correspond to
29 the final values to be used by the DAQ.
30
31detName runType task to be done worker class (AliMUONVSubprocessor child)
32--------------------------------------------------------------------------------------------------------
33MCH PEDESTAL_RUN read ASCII ped files AliMUONPedestalSubprocessor
34 and put them into OCDB
35
36MCH GMS read GMS alignment files AliMUONGMSSubprocessor
37 and put them into OCDB
38
39MCH PHYSICS read DCS HV values and AliMUONHVSubprocessor
40 put them into OCDB
41
42MCH ELECTRONICS_CALIBRATION_RUN read ASCII gain files to be done
43 and put them into OCDB
44
45MTR to be defined to be defined to be done
46
47----------
48Pedestals
49----------
50
51Two options here. You can either use a pre-done set of ASCII pedestals files (generated as
52 explained below for the 2nd option), located at /afs/cern.ch/user/l/laphecet/public/LDC*.ped,
53 or build you own set.
54
55We've written an AliMUONPedestalEventGenerator which creates fake pedestal events. The pedestal values
56are taken from the Offline Condition DataBase (OCDB) (which is itself fakely filled
57using the writePedestals() function located in the MUONCDB.C macro.
58
59So first generate a valid pedestal CDB entry but using the MUONCDB.C macro.
60
61root[] .L MUONCDB.C++
62root[] const char* cdbpath="local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
63root[] Bool_t defaultValues = kFALSE; // to generate random values instead of plain zeros...
64root[] Int_t startRun = 80;
65root[] Int_t endRun = 80;
66root[] writePedestals(cdbpath, defaultValues, startRun, endRun);
67
68Expected output is (don't worry about the warnings, they are harmless) :
69
70W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
71W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
72W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
73W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
74W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
75W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
76W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
77W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
78W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
79W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
80W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
81W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
82W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
83W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
84W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
85W-AliMpExMap::AddKey: AliMpExMap::AddKey: resized Key array
8616828 Manus and 1064008 channels.
87Ngenerated = 1064008
88
89Then use the AliMUONPedestalEventGenerator to produce simulated pedestal events.
90
91Usage :
92root[] AliCDBManager::Instance()->SetDefaultStorage(cdbpath); // so you will read
93// back pedestals values generated in the previous step
94root[] const char* dateFileName = "raw.date"; // base filename for the output
95root[] Int_t runNumber = 80; // run number used to fetch the pedestals from the OCDB
96root[] Int_t nevents = 100; // # of events to generate. 100 should be enough
03fa8501 97root[] gSystem->Load("libMUONshuttle");
e661d480 98root[] AliMUONPedestalEventGenerator ped(runNumber,nevents,dateFileName);
99root[] ped.Exec("");
100
101It *will* take a lot of time (mainly due to the fact that we're writting a
102bunch of ASCII files = DDL files), so please be patient.
103
104The output should be the normal simulated sequence of MUON.Hits.root, MUON.SDigits.root,
105 MUON.Digits.root, raw/*.ddl files and raw.date.LDCi where i=0-3 (i.e. one DATE file
106per LDC, as will be used in real life), the latter ones being roughly 100 MB each.
107
108The raw.date.LDC* files are then processed using the makeped online program
109(currently found, pending an agreement on where to put online programs under cvs,
03fa8501 110 under /afs/cern.ch/user/a/abaldiss/public/v16; Please contact Alberto to check
e661d480 111 it's the latest version) which outputs manus-*.ped ASCII files (one per LDC) :
112
03fa8501 113 makeped -f raw.date.LCDi -a LDCi.ped (i=0,1,2,3)
e661d480 114
115 (repeat for each LDC)
116
117The LDCi.ped files are the input for the pedestal subprocessor,
118which is tested using the TestMUONPreprocessor.C macro.
119The output of the pedestal subprocessor (upon success only) is written into the OCDB.
120Difference between the input and the output can be inferred using the diff() function
121of MUONCDB.C macro.
122
123
124-------
125HV
126-------
127
128HV DCS values are created in CreateDCSAliasMap() of TestMUONPreprocessor.C
129You might want to modify this function to create a given set of error conditions
130 in order to test whether the HVSubprocessor is reacting properly to those errors.
131
132