1 //____________________________________________________________________
3 // $Id: PatternDigits.C 28055 2008-08-18 00:33:20Z cholm $
5 // Draw hits in the specialised FMD event display
11 CheckFile(const char* prefix, int number, TString& f)
13 f = (Form("%s%d.csv", prefix, number));
14 std::cout << "Checking if " << f << " exists ... " << std::flush;
15 f = gSystem->Which("$(HOME)/calib/", f.Data());
16 std::cout << '"' << f << '"' << std::endl;
20 PatternRaw(const char* file="raw.root", Int_t runno=0)
22 gSystem->Load("libFMDutil");
24 AliCDBManager* cdb = AliCDBManager::Instance();
25 const char* cdbUri = gSystem->Getenv("AMORE_CDB_URI");
26 cdb->SetDefaultStorage(cdbUri);
29 AliFMDCalibStripRange* range = new AliFMDCalibStripRange;
30 AliFMDCalibSampleRate* rate = new AliFMDCalibSampleRate;
31 AliFMDCalibPedestal* peds = new AliFMDCalibPedestal;
32 AliFMDCalibGain* gains = new AliFMDCalibGain;
33 Bool_t gotConds = kFALSE;
34 Bool_t gotPeds = kFALSE;
35 Bool_t gotGains = kFALSE;
36 for (Int_t i = 1; i <= 3; i++) {
38 if (CheckFile("conditions", i, f)) {
40 std::cout << "Reading conditions for FMD" <<i<< " from " <<f<< std::endl;
41 std::ifstream in(f.Data());
42 range->ReadFromFile(in);
43 rate->ReadFromFile(in);
45 if (CheckFile("peds", i, f)) {
47 std::cout << "Reading pedestals for FMD" <<i<< " from " <<f<< std::endl;
48 std::ifstream in(f.Data());
49 peds->ReadFromFile(in);
51 if (CheckFile("gains", i, f)) {
53 std::cout << "Reading gains for FMD" <<i<< " from " <<f<< std::endl;
54 std::ifstream in(f.Data());
55 gains->ReadFromFile(in);
59 Int_t mask = (AliFMDParameters::kDeadMap|
60 AliFMDParameters::kZeroSuppression|
61 AliFMDParameters::kAltroMap);
64 if (!gotConds) mask |= AliFMDParameters::kStripRange;
65 if (!gotConds) mask |= AliFMDParameters::kSampleRate;
66 if (!gotPeds) mask |= AliFMDParameters::kPedestal;
67 if (!gotGains) mask |= AliFMDParameters::kPulseGain;
69 AliFMDParameters* pars = AliFMDParameters::Instance();
70 pars->Init(kFALSE, mask);
72 if (gotConds) pars->SetStripRange(range);
73 if (gotConds) pars->SetSampleRate(rate);
74 if (gotPeds) pars->SetPedestal(peds);
75 if (gotGains) pars->SetGain(gains);
77 AliFMDPattern* d = new AliFMDPattern;
78 d->AddLoad(AliFMDInput::kRaw);
85 //____________________________________________________________________