From b3d178a43232adabda27f3060590a80dcfb51f4c Mon Sep 17 00:00:00 2001 From: basanta Date: Tue, 2 Jun 2009 14:37:30 +0000 Subject: [PATCH] PMD recoparam classes added --- PMD/AliPMDRecoParam.cxx | 137 ++++++++++++++++++++++++++++++++++++++ PMD/AliPMDRecoParam.h | 39 +++++++++++ PMD/AliPMDReconstructor.h | 5 +- PMD/CMake_libPMDrec.txt | 2 +- PMD/MakePMDRecoParam.C | 42 ++++++++++++ PMD/PMDrecLinkDef.h | 1 + PMD/libPMDrec.pkg | 2 +- 7 files changed, 225 insertions(+), 3 deletions(-) create mode 100644 PMD/AliPMDRecoParam.cxx create mode 100644 PMD/AliPMDRecoParam.h create mode 100644 PMD/MakePMDRecoParam.C diff --git a/PMD/AliPMDRecoParam.cxx b/PMD/AliPMDRecoParam.cxx new file mode 100644 index 00000000000..ef761070572 --- /dev/null +++ b/PMD/AliPMDRecoParam.cxx @@ -0,0 +1,137 @@ +/************************************************************************** + * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * * + * Author: The ALICE Off-line Project. * + * Contributors are mentioned in the code where appropriate. * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Class with PMD reconstruction parameters // +// // +// // +/////////////////////////////////////////////////////////////////////////////// + + +#include "AliLog.h" + +#include "AliPMDRecoParam.h" + +ClassImp(AliPMDRecoParam) + +//_____________________________________________________________________________ +AliPMDRecoParam::AliPMDRecoParam(): + AliDetectorRecoParam() +{ + // + // constructor + // + + for (Int_t i = 0; i < 48; i++) + { + fNoiseCut[i] = 0.; + } + + SetNameTitle("PMD","PMD"); +} +//_____________________________________________________________________________ +AliPMDRecoParam::AliPMDRecoParam(const AliPMDRecoParam &source): + AliDetectorRecoParam(source) +{ + //copy Ctor + + for (Int_t i = 0; i < 48; i++) + { + fNoiseCut[i] = source.fNoiseCut[i]; + } + +} +//_____________________________________________________________________________ +AliPMDRecoParam& AliPMDRecoParam::operator=(const AliPMDRecoParam &source) +{ + // + // assign. operator + // + + if (this != &source) + { + for (Int_t i = 0; i < 48; i++) + { + fNoiseCut[i] = source.fNoiseCut[i]; + } + } + + return *this; +} +//_____________________________________________________________________________ +AliPMDRecoParam::~AliPMDRecoParam() +{ + // + // destructor + // +} + +//_____________________________________________________________________________ +AliPMDRecoParam *AliPMDRecoParam::GetPbPbParam(){ + // + // set default reconstruction parameters for PbPb. + // + AliPMDRecoParam *param = new AliPMDRecoParam(); + + for (Int_t i = 0; i < 48; i++) + { + param->fNoiseCut[i] = 10.; // dummy cuts + } + + return param; +} + +//_____________________________________________________________________________ +AliPMDRecoParam *AliPMDRecoParam::GetPPParam(){ + // + // set default reconstruction parameters for PP. + // + AliPMDRecoParam *param = new AliPMDRecoParam(); + for (Int_t i = 0; i < 48; i++) + { + param->fNoiseCut[i] = 10.; // dummy cuts + } + + return param; +} + +//_____________________________________________________________________________ +AliPMDRecoParam *AliPMDRecoParam::GetCosmicParam(){ + // + // set default reconstruction parameters for cosmic muon run + // + AliPMDRecoParam *param = new AliPMDRecoParam(); + for (Int_t i = 0; i < 48; i++) + { + param->fNoiseCut[i] = 15.; // dummy cuts + } + + return param; +} + +//_____________________________________________________________________________ +void AliPMDRecoParam::PrintParameters() const +{ + // + // Printing of the used PMD reconstruction parameters + // + for (Int_t i = 0; i < 48; i++) + { + AliInfo(Form(" Noise cut in every detector : %f", fNoiseCut[i])); + } + +} diff --git a/PMD/AliPMDRecoParam.h b/PMD/AliPMDRecoParam.h new file mode 100644 index 00000000000..4c0c14e6f2e --- /dev/null +++ b/PMD/AliPMDRecoParam.h @@ -0,0 +1,39 @@ +#ifndef ALIPMDRECOPARAM_H +#define ALIPMDRECOPARAM_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/////////////////////////////////////////////////////////////////////////////// +// // +// Class with PMD reconstruction parameters // +// // +/////////////////////////////////////////////////////////////////////////////// + + +#include "AliDetectorRecoParam.h" + +class AliPMDRecoParam : public AliDetectorRecoParam +{ + public: + AliPMDRecoParam(); + AliPMDRecoParam(const AliPMDRecoParam &source); //Copy Ctor + AliPMDRecoParam& operator=(const AliPMDRecoParam &source); // ass. op. + virtual ~AliPMDRecoParam(); + + virtual void PrintParameters() const; + + + Float_t GetNoiseCut(Int_t imod) const { return fNoiseCut[imod];} + void SetNoiseCut(Int_t imod, Float_t cut) {fNoiseCut[imod] = cut;} + + static AliPMDRecoParam *GetPbPbParam(); // reco param for PbPb. + static AliPMDRecoParam *GetPPParam(); // reco param for PP + static AliPMDRecoParam *GetCosmicParam(); // reco param for cosmic muons + private: + + Float_t fNoiseCut[48]; //Noise cut + + ClassDef(AliPMDRecoParam, 0) +}; + +#endif diff --git a/PMD/AliPMDReconstructor.h b/PMD/AliPMDReconstructor.h index 7e32ddaf059..90a0793c6cd 100644 --- a/PMD/AliPMDReconstructor.h +++ b/PMD/AliPMDReconstructor.h @@ -4,6 +4,7 @@ * See cxx source for full Copyright notice */ #include "AliReconstructor.h" +#include "AliPMDRecoParam.h" class AliPMDReconstructor: public AliReconstructor { public: @@ -17,9 +18,11 @@ public: virtual void FillESD(TTree* /*digitsTree*/, TTree* clustersTree, AliESDEvent* esd) const; + static const AliPMDRecoParam* GetRecoParam() { return dynamic_cast(AliReconstructor::GetRecoParam(10)); } // getting RecoParam obj + private: - ClassDef(AliPMDReconstructor, 5) // class for the PMD reconstruction + ClassDef(AliPMDReconstructor, 6) // class for the PMD reconstruction }; #endif diff --git a/PMD/CMake_libPMDrec.txt b/PMD/CMake_libPMDrec.txt index 77aab5f5827..c33efc35f54 100644 --- a/PMD/CMake_libPMDrec.txt +++ b/PMD/CMake_libPMDrec.txt @@ -1,7 +1,7 @@ # -*- mode: cmake -*- set(SRCS -AliPMDRecPoint.cxx AliPMDUtility.cxx AliPMDrecpoint1.cxx AliPMDrechit.cxx AliPMDcluster.cxx AliPMDClusteringV1.cxx AliPMDClusteringV2.cxx AliPMDclupid.cxx AliPMDEmpDiscriminator.cxx AliPMDClusterFinder.cxx AliPMDtracker.cxx AliPMDReconstructor.cxx AliPMDcludata.cxx AliPMDCalibPedestal.cxx AliPMDCalibGain.cxx AliPMDQADataMakerRec.cxx AliPMDisocell.cxx AliPMDrecdata.cxx +AliPMDRecPoint.cxx AliPMDUtility.cxx AliPMDrecpoint1.cxx AliPMDrechit.cxx AliPMDcluster.cxx AliPMDClusteringV1.cxx AliPMDClusteringV2.cxx AliPMDclupid.cxx AliPMDEmpDiscriminator.cxx AliPMDClusterFinder.cxx AliPMDtracker.cxx AliPMDReconstructor.cxx AliPMDcludata.cxx AliPMDCalibPedestal.cxx AliPMDCalibGain.cxx AliPMDQADataMakerRec.cxx AliPMDisocell.cxx AliPMDrecdata.cxx AliPMDRecoParam.cxx ) # fill list of header files from list of source files diff --git a/PMD/MakePMDRecoParam.C b/PMD/MakePMDRecoParam.C new file mode 100644 index 00000000000..830ae0e08c5 --- /dev/null +++ b/PMD/MakePMDRecoParam.C @@ -0,0 +1,42 @@ +void MakePMDRecoParam(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult){ + // Create PMD Calibration Object for Ideal calibration and + // write it on CDB + AliCDBManager *man = AliCDBManager::Instance(); + man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); + + TObjArray *recoParamArray = new TObjArray(); + + { + AliPMDRecoParam* pmdRecoParam = AliPMDRecoParam::GetPbPbParam(); + pmdRecoParam->SetEventSpecie(AliRecoParam::kHighMult); + recoParamArray->AddLast(pmdRecoParam); + } + + { + AliPMDRecoParam* pmdRecoParam = AliPMDRecoParam::GetPPParam(); + pmdRecoParam->SetEventSpecie(AliRecoParam::kLowMult); + recoParamArray->AddLast(pmdRecoParam); + } + + // Set the default + Bool_t defaultIsSet = kFALSE; + for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) { + AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i); + if (!param) continue; + if (default & param->GetEventSpecie()) { + param->SetAsDefault(); + defaultIsSet = kTRUE; + } + } + + + AliCDBMetaData *md= new AliCDBMetaData(); + md->SetResponsible("Basanta Nandi"); + md->SetComment("Reconstruction parameters PMD"); + md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); + md->SetBeamPeriod(0); + AliCDBId id("PMD/Calib/RecoParam",0,AliCDBRunRange::Infinity()); + man->GetDefaultStorage()->Put(recoParamArray,id, md); +} + + diff --git a/PMD/PMDrecLinkDef.h b/PMD/PMDrecLinkDef.h index c685ef38d00..45e217ce9ad 100644 --- a/PMD/PMDrecLinkDef.h +++ b/PMD/PMDrecLinkDef.h @@ -28,4 +28,5 @@ #pragma link C++ class AliPMDQADataMakerRec+; #pragma link C++ class AliPMDisocell+; #pragma link C++ class AliPMDrecdata+; +#pragma link C++ class AliPMDRecoParam+; #endif diff --git a/PMD/libPMDrec.pkg b/PMD/libPMDrec.pkg index bd4c4b0f5c3..0a5d2daef24 100644 --- a/PMD/libPMDrec.pkg +++ b/PMD/libPMDrec.pkg @@ -1,7 +1,7 @@ #-*- Mode: Makefile -*- # $Id$ -SRCS:= AliPMDRecPoint.cxx AliPMDUtility.cxx AliPMDrecpoint1.cxx AliPMDrechit.cxx AliPMDcluster.cxx AliPMDClusteringV1.cxx AliPMDClusteringV2.cxx AliPMDclupid.cxx AliPMDEmpDiscriminator.cxx AliPMDClusterFinder.cxx AliPMDtracker.cxx AliPMDReconstructor.cxx AliPMDcludata.cxx AliPMDCalibPedestal.cxx AliPMDCalibGain.cxx AliPMDQADataMakerRec.cxx AliPMDisocell.cxx AliPMDrecdata.cxx +SRCS:= AliPMDRecPoint.cxx AliPMDUtility.cxx AliPMDrecpoint1.cxx AliPMDrechit.cxx AliPMDcluster.cxx AliPMDClusteringV1.cxx AliPMDClusteringV2.cxx AliPMDclupid.cxx AliPMDEmpDiscriminator.cxx AliPMDClusterFinder.cxx AliPMDtracker.cxx AliPMDReconstructor.cxx AliPMDcludata.cxx AliPMDCalibPedestal.cxx AliPMDCalibGain.cxx AliPMDQADataMakerRec.cxx AliPMDisocell.cxx AliPMDrecdata.cxx AliPMDRecoParam.cxx HDRS:= $(SRCS:.cxx=.h) AliPMDClustering.h AliPMDDiscriminator.h AliPMDcludata.h -- 2.43.0