*
* See cxx source for full Copyright notice
*/
-
+#include "AliQACheckerBase.h"
class TFile;
class TH1F;
class TH1I;
-#include "AliQACheckerBase.h"
-
+/** @class AliFMDQAChecker
+ @brief Quality assurance checker for the FMD */
class AliFMDQAChecker : public AliQACheckerBase
{
public:
+ /** Constructor */
AliFMDQAChecker()
: AliQACheckerBase("FMD","FMD Quality Assurance Checker")
{}
-
+ /** Destructor */
virtual ~AliFMDQAChecker() {}
private:
}
//_____________________________________________________________________
-AliFMDQADataMakerRec::AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm) :
- AliQADataMakerRec()
+AliFMDQADataMakerRec::AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm)
+ : AliQADataMakerRec()
{
- //copy ctor
+ // copy ctor
// Parameters:
// qadm Object to copy from
{
// Detector specific actions at end of cycle
// do the QA checking
- AliLog::Message(5,"FMD: end of detector cycle","AliFMDQADataMakerRec","AliFMDQADataMakerRec","AliFMDQADataMakerRec::EndOfDetectorCycle","AliFMDQADataMakerRec.cxx",95);
+ AliLog::Message(5,"FMD: end of detector cycle",
+ "AliFMDQADataMakerRec","AliFMDQADataMakerRec",
+ "AliFMDQADataMakerRec::EndOfDetectorCycle",
+ "AliFMDQADataMakerRec.cxx",95);
AliQAChecker::Instance()->Run(AliQA::kFMD, task, list);
}
// create Digits histograms in Digits subdir
TH1I* hADCCounts = new TH1I("hADCCounts","Dist of ADC counts",
1024,0,1024);
- // TH1F* hEnergyOfDigits = new TH1F("hEnergyOfDigits", "Energy distribution",
- // 100,0,3);
hADCCounts->SetXTitle("ADC counts");
hADCCounts->SetYTitle("");
- // hEnergyOfDigits->SetXTitle("Edep/Emip");
- // hEnergyOfDigits->SetYTitle("Counts");
Add2DigitsList(hADCCounts, 0);
- // Add2DigitsList(hEnergyOfDigits, 1);
}
{
// makes data from Digits
if(!digits) {
- AliError("FMD Digit object not found!!") ;
- return;
+ AliError("FMD Digit object not found!!") ;
+ return;
}
for(Int_t i=0;i<digits->GetEntries();i++) {
//Raw ADC counts
void AliFMDQADataMakerRec::MakeDigits(TTree * digitTree)
{
- TClonesArray* digits = new TClonesArray("AliFMDDigit", 1000) ;
- TBranch* branch = digitTree->GetBranch("FMD") ;
- if (!branch ) {
+ TClonesArray* digits = new TClonesArray("AliFMDDigit", 1000);
+ TBranch* branch = digitTree->GetBranch("FMD");
+ if (!branch) {
AliWarning("FMD branch in Digit Tree not found") ;
return;
}
- branch->SetAddress(&digits) ;
- branch->GetEntry(0) ;
- MakeDigits(digits) ;
+ branch->SetAddress(&digits);
+ branch->GetEntry(0);
+ MakeDigits(digits);
}
//_____________________________________________________________________
return;
}
- TClonesArray * fmdrecpoints = new TClonesArray("AliFMDRecPoint", 1000) ;
+ TClonesArray * fmdrecpoints = new TClonesArray("AliFMDRecPoint", 1000);
fmdbranch->SetAddress(&fmdrecpoints);
fmdbranch->GetEntry(0);
// Author : Hans Hjersing Dalsgaard, hans.dalsgaard@cern.ch
//_____________________________________________________________________
-class AliFMDQADataMakerRec: public AliQADataMakerRec {
-
- public:
+class AliFMDQADataMakerRec: public AliQADataMakerRec
+{
+public:
AliFMDQADataMakerRec();
- AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm) ;
+ AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm);
virtual ~AliFMDQADataMakerRec() {}
-
- private:
+private:
virtual void EndOfDetectorCycle(AliQA::TASKINDEX, TObjArray * list);
virtual void InitESDs();
virtual void InitDigits();
ClassDef(AliFMDQADataMakerRec,0) // description
- };
+};
#endif // AliFMDQADataMakerRec_H
//____________________________________________________________________
/**************************************************************************
- * Copyright(c) 2004, ALICE Experiment at CERN, All rights reserved. *
+ * Copyright(c) 2004, ALICE Experiment at CERN, All rights reserved. *
* *
* Author: The ALICE Off-line Project. *
* Contributors are mentioned in the code where appropriate. *
//_____________________________________________________________________
ClassImp(AliFMDQADataMakerSim)
-
+#if 0
+; // This line is for Emacs - do not delete!
+#endif
//_____________________________________________________________________
-AliFMDQADataMakerSim::AliFMDQADataMakerSim() :
-AliQADataMakerSim(AliQA::GetDetName(AliQA::kFMD),
- "FMD Quality Assurance Data Maker")
+AliFMDQADataMakerSim::AliFMDQADataMakerSim()
+ : AliQADataMakerSim(AliQA::GetDetName(AliQA::kFMD),
+ "FMD Quality Assurance Data Maker")
{
// ctor
}
//_____________________________________________________________________
-AliFMDQADataMakerSim::AliFMDQADataMakerSim(const AliFMDQADataMakerSim& qadm) :
- AliQADataMakerSim()
+AliFMDQADataMakerSim::AliFMDQADataMakerSim(const AliFMDQADataMakerSim& qadm)
+ : AliQADataMakerSim()
{
//copy ctor
// Parameters:
}
//_____________________________________________________________________
-void AliFMDQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX task, TObjArray * list)
+void AliFMDQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX task,
+ TObjArray * list)
{
//Detector specific actions at end of cycle
// do the QA checking
- AliLog::Message(5,"FMD: end of detector cycle","AliFMDQADataMakerSim","AliFMDQADataMakerSim","AliFMDQADataMakerSim::EndOfDetectorCycle","AliFMDQADataMakerSim.cxx",83);
+ AliLog::Message(5,"FMD: end of detector cycle",
+ "AliFMDQADataMakerSim","AliFMDQADataMakerSim",
+ "AliFMDQADataMakerSim::EndOfDetectorCycle",
+ "AliFMDQADataMakerSim.cxx",83);
AliQAChecker::Instance()->Run(AliQA::kFMD, task, list) ;
}
void AliFMDQADataMakerSim::InitHits()
{
// create Digits histograms in Digits subdir
- TH1F* hEnergyOfHits = new TH1F("hEnergyOfHits","Energy distribution",100,0,3);
+ TH1F* hEnergyOfHits = new TH1F("hEnergyOfHits","Energy distribution",100,0,3);
hEnergyOfHits->SetXTitle("Edep");
hEnergyOfHits->SetYTitle("Counts");
Add2HitsList(hEnergyOfHits, 0);
{
// create Digits histograms in Digits subdir
TH1I* hADCCounts = new TH1I("hADCCounts","Dist of ADC counts",1024,0,1024);
- //TH1F* hEnergyOfDigits = new TH1F("hEnergyOfDigits","Energy distribution",100,0,3);
hADCCounts->SetXTitle("ADC counts");
- //hADCCounts->SetYTitle("Counts");
- //hEnergyOfDigits->SetXTitle("Edep/Emip");
- //hEnergyOfDigits->SetYTitle("Counts");
Add2DigitsList(hADCCounts, 0);
- //Add2DigitsList(hEnergyOfDigits, 1);
-
}
//_____________________________________________________________________
-void MakeFMDFullMisAlignment(){
+void MakeFMDFullMisAlignment()
+{
// Create TClonesArray of full misalignment objects for FMD
- //
const char* macroname = "MakeFMDFullMisAlignment.C";
// Activate CDB storage and load geometry from CDB
AliCDBManager* cdb = AliCDBManager::Instance();
if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT");
cdb->SetRun(0);
+
+ Bool_t toCdb = TString(gSystem->Getenv("TOCDB")) == TString("kTRUE");
+ TString storage = gSystem->Getenv("STORAGE");
- TString Storage;
-
- if( TString(gSystem->Getenv("TOCDB")) == TString("kTRUE") ){
- Storage = gSystem->Getenv("STORAGE");
- if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
- Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
+ if(toCdb) {
+ if(!storage.BeginsWith("local://") &&
+ !storage.BeginsWith("alien://")) {
+ Error(macroname,"STORAGE=\"%s\" is not valid. Exiting\n", storage.Data());
return;
}
- AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
- if(!storage){
- Error(macroname,"Unable to open storage %s\n",Storage.Data());
+
+ AliCDBStorage* store = cdb->GetStorage(storage.Data());
+ if(!store){
+ Error(macroname,"Unable to open storage %s\n", storage.Data());
return;
}
- AliCDBPath path("GRP","Geometry","Data");
- AliCDBEntry *entry = storage->Get(path.GetPath(),cdb->GetRun());
+
+ AliCDBPath path("GRP","Geometry","Data");
+ AliCDBEntry* entry = storage->Get(path.GetPath(),cdb->GetRun());
if(!entry) Fatal(macroname,"Could not get the specified CDB entry!");
+
entry->SetOwner(0);
- TGeoManager* geom = (TGeoManager*) entry->GetObject();
+ TGeoManager* geom = static_cast<TGeoManager*>(entry->GetObject());
AliGeomManager::SetGeometry(geom);
- }else{
- AliGeomManager::LoadGeometry(); //load geom from default CDB storage
- }
+ }else
+ //load geom from default CDB storage
+ AliGeomManager::LoadGeometry();
gSystem->Load("libFMDutil.so");
- if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){
- // save on file
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root","FMDfullMisalignment.root");
- }else{
- // save in CDB storage
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root", Storage.Data());
- }
-
- // fRunMax should be changed in the constructor
-
- faker.SetSensorDisplacement(-0.005, -0.005, -0.005, 0.005, 0.005, 0.005);
- faker.SetSensorRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
- faker.SetHalfDisplacement(-0.25, -0.25, -0.25, 0.25, 0.25, 0.25);
- faker.SetHalfRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
- faker.Exec();
+ AliFMDAlignFaker* faker = (toCdb ?
+ // save on file
+ new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ "FMDfullMisalignment.root") :
+ // save in CDB storage
+ new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ storage.Data()));
+ // Displacements and rotations
+ faker->SetSensorDisplacement(-0.005, -0.005, -0.005, 0.005, 0.005, 0.005);
+ faker->SetSensorRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
+ faker->SetHalfDisplacement(-0.25, -0.25, -0.25, 0.25, 0.25, 0.25);
+ faker->SetHalfRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
+ faker->Exec();
+ delete faker;
}
AliCDBManager* cdb = AliCDBManager::Instance();
if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT");
cdb->SetRun(0);
+
+ Bool_t toCdb = TString(gSystem->Getenv("TOCDB")) == TString("kTRUE");
+ TString storage = gSystem->Getenv("STORAGE");
- TString Storage;
-
- if( TString(gSystem->Getenv("TOCDB")) == TString("kTRUE") ){
- Storage = gSystem->Getenv("STORAGE");
- if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
- Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
+ if(toCdb) {
+ if(!storage.BeginsWith("local://") &&
+ !storage.BeginsWith("alien://")) {
+ Error(macroname,"STORAGE=\"%s\" is not valid. Exiting\n", storage.Data());
return;
}
- AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
- if(!storage){
- Error(macroname,"Unable to open storage %s\n",Storage.Data());
+
+ AliCDBStorage* store = cdb->GetStorage(storage.Data());
+ if(!store){
+ Error(macroname,"Unable to open storage %s\n", storage.Data());
return;
}
- AliCDBPath path("GRP","Geometry","Data");
- AliCDBEntry *entry = storage->Get(path.GetPath(),cdb->GetRun());
+
+ AliCDBPath path("GRP","Geometry","Data");
+ AliCDBEntry* entry = storage->Get(path.GetPath(),cdb->GetRun());
if(!entry) Fatal(macroname,"Could not get the specified CDB entry!");
+
entry->SetOwner(0);
- TGeoManager* geom = (TGeoManager*) entry->GetObject();
+ TGeoManager* geom = static_cast<TGeoManager*>(entry->GetObject());
AliGeomManager::SetGeometry(geom);
- }else{
- AliGeomManager::LoadGeometry(); //load geom from default CDB storage
- }
+ }else
+ //load geom from default CDB storage
+ AliGeomManager::LoadGeometry();
gSystem->Load("libFMDutil.so");
- if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){
- // save on file
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root","FMDresidualMisalignment.root");
- }else{
- // save in CDB storage
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root", Storage.Data());
- }
-
- // fRunMax should be changed in the constructor
-
- faker.SetSensorDisplacement(-0.005, -0.005, -0.005, 0.005, 0.005, 0.005);
- faker.SetSensorRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
- faker.SetHalfDisplacement(-0.25, -0.25, -0.25, 0.25, 0.25, 0.25);
- faker.SetHalfRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
- faker.Exec();
+ AliFMDAlignFaker* faker = (toCdb ?
+ // save on file
+ new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ "FMDfullMisalignment.root") :
+ // save in CDB storage
+ new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ storage.Data()));
+ faker->SetSensorDisplacement(-0.005, -0.005, -0.005, 0.005, 0.005, 0.005);
+ faker->SetSensorRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
+ faker->SetHalfDisplacement(-0.25, -0.25, -0.25, 0.25, 0.25, 0.25);
+ faker->SetHalfRotation(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
+ faker->Exec();
+ delete faker;
}
+//
+// EOF
+//
AliCDBManager* cdb = AliCDBManager::Instance();
if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT");
cdb->SetRun(0);
+
+ Bool_t toCdb = TString(gSystem->Getenv("TOCDB")) == TString("kTRUE");
+ TString storage = gSystem->Getenv("STORAGE");
- TString Storage;
-
- if( TString(gSystem->Getenv("TOCDB")) == TString("kTRUE") ){
- Storage = gSystem->Getenv("STORAGE");
- if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
- Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
+ if(toCdb) {
+ if(!storage.BeginsWith("local://") &&
+ !storage.BeginsWith("alien://")) {
+ Error(macroname,"STORAGE=\"%s\" is not valid. Exiting\n", storage.Data());
return;
}
- AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
- if(!storage){
- Error(macroname,"Unable to open storage %s\n",Storage.Data());
+
+ AliCDBStorage* store = cdb->GetStorage(storage.Data());
+ if(!store){
+ Error(macroname,"Unable to open storage %s\n", storage.Data());
return;
}
- AliCDBPath path("GRP","Geometry","Data");
- AliCDBEntry *entry = storage->Get(path.GetPath(),cdb->GetRun());
+
+ AliCDBPath path("GRP","Geometry","Data");
+ AliCDBEntry* entry = storage->Get(path.GetPath(),cdb->GetRun());
if(!entry) Fatal(macroname,"Could not get the specified CDB entry!");
+
entry->SetOwner(0);
- TGeoManager* geom = (TGeoManager*) entry->GetObject();
+ TGeoManager* geom = static_cast<TGeoManager*>(entry->GetObject());
AliGeomManager::SetGeometry(geom);
- }else{
- AliGeomManager::LoadGeometry(); //load geom from default CDB storage
- }
+ }else
+ //load geom from default CDB storage
+ AliGeomManager::LoadGeometry();
gSystem->Load("libFMDutil.so");
- if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){
- // save on file
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root","FMDAlignObjs.root");
- }else{
- // save in CDB storage
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root", Storage.Data());
- }
-
- // fRunMax should be changed in the constructor
-
- faker.SetSensorDisplacement(0., 0., 0., 0., 0., 0.);
- faker.SetSensorRotation(0., 0., 0., 0., 0., 0.);
- faker.SetHalfDisplacement(0., 0., 0., 0., 0., 0.);
- faker.SetHalfRotation(0., 0., 0., 0., 0., 0.);
- faker.Exec();
+ AliFMDAlignFaker* faker = (toCdb ?
+ // save on file
+ new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ "FMDfullMisalignment.root") :
+ // save in CDB storage
+ new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ storage.Data()));
+
+
+ faker->SetSensorDisplacement(0., 0., 0., 0., 0., 0.);
+ faker->SetSensorRotation(0., 0., 0., 0., 0., 0.);
+ faker->SetHalfDisplacement(0., 0., 0., 0., 0., 0.);
+ faker->SetHalfRotation(0., 0., 0., 0., 0., 0.);
+ faker->Exec();
+ delete faker;
}