]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/scripts/MakeFakeDigits.C
Extacting the OCDB in a separate module. The detectors have write permission in the...
[u/mrichter/AliRoot.git] / FMD / scripts / MakeFakeDigits.C
CommitLineData
28ede577 1#include <iomanip>
2
3void
4MakeFakeDigits()
5{
162637e4 6 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
28ede577 7 AliCDBManager::Instance()->SetRun(0);
8 AliFMDParameters* param = AliFMDParameters::Instance();
9 param->Init(kFALSE,(AliFMDParameters::kPulseGain|
10 AliFMDParameters::kPedestal|
11 AliFMDParameters::kDeadMap|
12 AliFMDParameters::kSampleRate|
13 AliFMDParameters::kAltroMap|
14 AliFMDParameters::kStripRange));
15 // param->SetPedestal(100);
16
17 TFile* file = TFile::Open("FMD.Digits.root", "RECREATE");
18 TDirectory* dir = file->mkdir("Event0");
19
20 TTree* tree = new TTree("TreeD", "Digits container");
21 TClonesArray* digits = new TClonesArray("AliFMDDigit");
22 tree->Branch("FMD", &digits);
23
24 Int_t i = 0;
25
26 for (UShort_t d = 1; d <= 3; d++) {
27 UShort_t nrng = (d == 1 ? 1 : 2);
28 for (UShort_t ir = 0; ir < nrng; ir++) {
29 Char_t r = (ir == 0 ? 'I' : 'O');
30 UShort_t nsec = (ir == 0 ? 20 : 40);
31 UShort_t nstr = (ir == 0 ? 512 : 256);
32 for (UShort_t s = 0; s < nsec; s++) {
33 for (UShort_t t = 0; t < nstr; t++) {
34 std::cout << "FMD" << d << r << "[" << std::setfill('0')
35 << std::setw(2) << s << "," << std::setw(3) << t
36 << "] " << std::setfill(' ') << " "
37 << std::setw(5) << i << "/51200 "
38 << std::setw(3) << int(i*100./51200) << "%\r"
39 << std::flush;
40
41 UShort_t nsam = param->GetSampleRate(d,r,s,t);
42 AliFMDDigit* digit = new((*(digits))[i]) AliFMDDigit(d,r,s,t);
43 i++;
44 UShort_t c = param->GetPedestal(d,r,s,t);
45 for (UShort_t z = 0; z < nsam; z++) {
46 digit->SetCount(z, c);
47 if (nsam > 1 && z < 1) continue;
48 if ((t > 32 && t < 64) || (t > 96 && t < 98))
49 digit->SetCount(z, c + 100);
50 }
51 }
52 }
53 }
54 }
55 std::cout << "Done making fake digits" << std::endl;
56 dir->cd();
57 tree->Fill();
58 tree->Write();
59 file->Close();
60}
61
62