59 : TTask(
"FMDCalibFaker", loc),
78 #define MAKE_META(meta) \ 80 meta = new AliCDBMetaData; \ 81 meta->SetResponsible(gSystem->GetUserInfo()->fRealName.Data()); \ 82 meta->SetAliRootVersion(gROOT->GetVersion()); \ 83 meta->SetBeamPeriod(1); \ 84 meta->SetComment("Dummy data for testing"); } while (false); 97 if (GetTitle() && GetTitle()[0] !=
'\0') {
98 AliInfo(Form(
"Setting default storage to '%s'", GetTitle()));
116 cdb->
Put(gain,
id, meta);
127 cdb->
Put(pedestal,
id, meta);
128 cleanup.Add(pedestal);
137 cdb->
Put(deadMap,
id, meta);
138 cleanup.Add(deadMap);
148 cdb->
Put(zeroSup,
id, meta);
149 cleanup.Add(zeroSup);
153 fRate = TMath::Max(TMath::Min(
fRate, UShort_t(8)), UShort_t(1));
159 cdb->
Put(rate,
id, meta);
164 fRate = TMath::Max(TMath::Min(
fRate, UShort_t(8)), UShort_t(1));
170 cdb->
Put(range,
id, meta);
179 cdb->
Put(altroMap,
id, meta);
180 cleanup.Add(altroMap);
196 for (UShort_t det = 1; det <= 3; det++) {
197 Char_t rings[] = {
'I', (det == 1 ?
'\0' :
'O'),
'\0' };
198 for (Char_t* ring = rings; *ring !=
'\0'; ring++) {
199 UShort_t nSec = ( *ring ==
'I' ? 20 : 40 );
200 UShort_t nStr = ( *ring ==
'I' ? 512 : 256 );
201 for (UShort_t sec = 0; sec < nSec; sec++) {
202 for (UShort_t str = 0; str < nStr; str++) {
203 gain->
Set(det, *ring, sec, str,
216 const UShort_t innerN = 512;
217 const UShort_t outerN = 256;
218 const UShort_t innerCut = 350;
219 const UShort_t outerCut = 190;
220 const Float_t innerBase = 1.2;
221 const Float_t outerBase = 2.1;
222 const Float_t innerInc = 0.5;
223 const Float_t outerInc = 0.8;
224 Float_t
cut, base, inc, n;
227 cut = innerCut; base = innerBase; inc = innerInc; n = innerN;
break;
229 cut = outerCut; base = outerBase; inc = outerInc; n = outerN;
break;
233 Float_t bare = base + (str < cut ?
235 inc - (str -
cut) / (n - cut) * inc);
236 return bare + gRandom->Uniform(-.07, .07);
246 for (UShort_t det = 1; det <= 3; det++) {
247 Char_t rings[] = {
'I',
'O',
'\0' };
248 for (Char_t* ring = rings; *ring !=
'\0'; ring++) {
249 if (*ring ==
'O' && det == 1)
continue;
250 UShort_t nSec = ( *ring ==
'I' ? 20 : 40 );
251 UShort_t nStr = ( *ring ==
'I' ? 512 : 256 );
252 for (UShort_t sec = 0; sec < nSec; sec++) {
253 for (UShort_t str = 0; str < nStr; str++) {
256 pedestal->
Set(det, *ring, sec, str, ped, noise);
270 TRandom* random =
new TRandom(0);
271 for (UShort_t det = 1; det <= 3; det++) {
272 Char_t rings[] = {
'I', (det == 1 ?
'\0' :
'O'),
'\0' };
273 for (Char_t* ring = rings; *ring !=
'\0'; ring++) {
274 UShort_t nSec = ( *ring ==
'I' ? 20 : 40 );
275 UShort_t nStr = ( *ring ==
'I' ? 512 : 256 );
276 for (UShort_t sec = 0; sec < nSec; sec++) {
277 for (UShort_t str = 0; str < nStr; str++) {
278 deadmap->operator()(det, *ring, sec, str) =
294 for (UShort_t det = 1; det <= 3; det++) {
295 Char_t rings[] = {
'I', (det == 1 ?
'\0' :
'O'),
'\0' };
296 for (Char_t* ring = rings; *ring !=
'\0'; ring++) {
297 UShort_t nSec = ( *ring ==
'I' ? 20 : 40 );
298 UShort_t nStr = ( *ring ==
'I' ? 512 : 256 );
299 for (UShort_t sec = 0; sec < nSec; sec++) {
300 for (UShort_t str = 0; str < nStr; str++) {
315 for (UShort_t det = 1; det <= 3; det++) {
316 Char_t rings[] = {
'I', (det == 1 ?
'\0' :
'O'),
'\0' };
317 for (Char_t* ring = rings; *ring !=
'\0'; ring++) {
318 UShort_t nSec = ( *ring ==
'I' ? 20 : 40 );
319 for (UShort_t sec = 0; sec < nSec; sec++) {
320 sampleRate->
Set(det, *ring, sec, 0,
fRate);
333 for (UShort_t det = 1; det <= 3; det++) {
334 Char_t rings[] = {
'I', (det == 1 ?
'\0' :
'O'),
'\0' };
335 for (Char_t* ring = rings; *ring !=
'\0'; ring++) {
336 UShort_t nSec = ( *ring ==
'I' ? 20 : 40 );
337 for (UShort_t sec = 0; sec < nSec; sec++) {
Map of an integer per strip.
virtual AliFMDCalibStripRange * MakeStripRange() const
virtual AliFMDCalibZeroSuppression * MakeZeroSuppression() const
static const char * DeadPath()
static const char * AltroMapPath()
void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, UShort_t rate)
AliFMDUShortMap AliFMDCalibZeroSuppression
This class is a singleton that handles various parameters of the FMD detectors. This class reads from...
Manager of FMD parameters.
virtual void Print(Option_t *option="") const
void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, Float_t val)
Per digitizer card pulser calibration.
static const char * PedestalPath()
virtual AliFMDCalibSampleRate * MakeSampleRate() const
AliFMDBoolMap AliFMDCalibDeadMap
void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, Float_t ped, Float_t pedW)
Float_t GetEdepMip() const
Per strip pedestal calibration.
Gain value and width for each strip in the FMD.
Per digitizer card pulser calibration.
virtual AliFMDCalibGain * MakePulseGain() const
Per digitizer card pulser calibration.
virtual AliFMDAltroMapping * MakeAltroMap() const
Map HW address to detector coordinates and back again.
MAp of per strip boolean values.
Per strip gain calibration.
static const char * SampleRatePath()
Class that encodes a map to/from ALTRO hardware address to FMD detector coordinates.
virtual AliFMDCalibDeadMap * MakeDeadMap() const
Class to make fake calibration parameters.
static AliFMDParameters * Instance()
Bool_t Put(TObject *object, const AliCDBId &id, AliCDBMetaData *metaData, const char *mirrors="", DataType type=kPrivate)
void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, UShort_t min, UShort_t max)
static const char * StripRangePath()
void Exec(Option_t *option="")
void SetDefaultStorage(const char *dbString)
static const char * ZeroSuppressionPath()
static const char * PulseGainPath()
Per digitizer card pulser calibration.
virtual AliFMDCalibPedestal * MakePedestal() const
AliFMDCalibFaker(Int_t mask=kAll, const char *loc="local://cdb")
static AliCDBManager * Instance(TMap *entryCache=NULL, Int_t run=-1)
virtual Float_t MakeNoise(Char_t ring, UShort_t str) const
UShort_t GetAltroChannelSize() const
Pedestal value and width for each strip in the FMD.
Make fake calibration data.
UShort_t GetVA1MipRange() const