#include "TTree.h"
#include "AliCDBManager.h"
-#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliITSClusterFinder.h"
#include "AliITSClusterFinderV2SPD.h"
#include "AliITSClusterFinderV2SDD.h"
#include "AliITSClusterFinderV2SSD.h"
#include "AliITSDetTypeRec.h"
-#include "AliITSgeom.h"
+#include "AliITSDDLModuleMapSDD.h"
#include "AliITSRecPoint.h"
-#include "AliITSReconstructor.h"
-#include "AliITSRecoParam.h"
#include "AliITSCalibrationSDD.h"
-#include "AliITSMapSDD.h"
-#include "AliITSDriftSpeedArraySDD.h"
-#include "AliITSDriftSpeedSDD.h"
#include "AliITSHLTforSDD.h"
#include "AliITSCalibrationSSD.h"
#include "AliITSNoiseSSDv2.h"
#include "AliITSsegmentationSSD.h"
#include "AliLog.h"
+class AliITSDriftSpeedArraySDD;
+class AliITSMapSDD;
+class AliITSresponseSDD;
+class AliITSRecoParam;
const Int_t AliITSDetTypeRec::fgkNdettypes = 3;
const Int_t AliITSDetTypeRec::fgkDefaultNModulesSPD = 240;
fReconstruction = new TObjArray(fgkNdettypes);
fDigits = new TObjArray(fgkNdettypes);
for(Int_t i=0; i<3; i++){
- fDigClassName[i]=0;
+ fkDigClassName[i]=0;
}
fSSDCalibration=new AliITSCalibrationSSD();
fNMod = new Int_t [fgkNdettypes];
}
//______________________________________________________________________
-void AliITSDetTypeRec::ReadOldSSDNoise(TObjArray *array,
+void AliITSDetTypeRec::ReadOldSSDNoise(const TObjArray *array,
AliITSNoiseSSDv2 *noiseSSD) {
//Reads the old SSD calibration object and converts it to the new format
const Int_t fgkSSDSTRIPSPERMODULE = 1536;
}
//______________________________________________________________________
-void AliITSDetTypeRec::ReadOldSSDBadChannels(TObjArray *array,
+void AliITSDetTypeRec::ReadOldSSDBadChannels(const TObjArray *array,
AliITSBadChannelsSSDv2 *badChannelsSSD) {
//Reads the old SSD calibration object and converts it to the new format
Int_t gNMod = array->GetEntries();
}
//______________________________________________________________________
-void AliITSDetTypeRec::ReadOldSSDGain(TObjArray *array,
+void AliITSDetTypeRec::ReadOldSSDGain(const TObjArray *array,
AliITSGainSSDv2 *gainSSD) {
//Reads the old SSD calibration object and converts it to the new format
// detector specific reconstruction for the ITS. //
////////////////////////////////////////////////////////////////////////
#include <TObject.h>
-#include <TObjArray.h>
#include <TClonesArray.h>
#include <TBits.h>
-#include "AliITSDDLModuleMapSDD.h"
-#include "AliITSFastOrCalibrationSPD.h"
-#include "AliITSresponseSDD.h"
-#include "AliITSgeom.h"
+
+class TObjArray;
class TTree;
class TBranch;
-
-//#include "AliITSLoader.h"
-//#include "AliRunLoader.h"
-
+class AliITSgeom;
class AliITSsegmentation;
class AliITSCalibration;
class AliITSCalibrationSSD;
+class AliITSFastOrCalibrationSPD;
class AliITSresponseSDD;
class AliITSClusterFinder;
class AliITSRecPoint;
class AliRawReader;
class AliITSGainSSDv2;
class AliITSBadChannelsSSDv2;
+class AliITSDDLModuleMapSDD;
class AliITSNoiseSSDv2;
class AliITSDetTypeRec : public TObject {
}
virtual void SetDigitClassName(Int_t i,const Char_t *digit)
- {fDigClassName[i]=digit;}
+ {fkDigClassName[i]=digit;}
virtual void SetLoadOnlySPDCalib(Bool_t opt=kFALSE)
{fLoadOnlySPDCalib=opt;}
- const Char_t* GetDigitClassName(Int_t i) const {return fDigClassName[i];}
+ const Char_t* GetDigitClassName(Int_t i) const {return fkDigClassName[i];}
TObjArray* GetDigits() const {return fDigits;}
TClonesArray *DigitsAddress(Int_t id) const {return ((TClonesArray*)(*fDigits)[id]);}
void AddRecPoint(const AliITSRecPoint &p);
void ResetRecPoints(){if(fRecPoints) fRecPoints->Clear();fNRecPoints = 0;};
// Return pointer to rec points
- TClonesArray *RecPoints() {return fRecPoints;}
+ TClonesArray *RecPoints() const {return fRecPoints;}
void MakeBranchRF(TTree *treeR){MakeBranchR(treeR,"Fast");}
void DigitsToRecPoints(TTree *treeD,TTree *treeR,Int_t lastEntry,Option_t *det, Int_t optCluFind=0);
void DigitsToRecPoints(AliRawReader* rawReader,TTree *treeR,Option_t *det="All");
AliITSDetTypeRec& operator=(const AliITSDetTypeRec &source);
//conversion of the old SSD calibration objects tothe new ones
- void ReadOldSSDNoise(TObjArray *array,
+ void ReadOldSSDNoise(const TObjArray *array,
AliITSNoiseSSDv2 *noiseSSD);
- void ReadOldSSDBadChannels(TObjArray *array,
+ void ReadOldSSDBadChannels(const TObjArray *array,
AliITSBadChannelsSSDv2 *badChannelsSSD);
- void ReadOldSSDGain(TObjArray *array,
+ void ReadOldSSDGain(const TObjArray *array,
AliITSGainSSDv2 *gainSSD);
// virtual void SetLoader(AliITSLoader* loader) {fLoader=loader;}
AliITSresponseSDD *fRespSDD; //! SDD response parameters
Float_t fAveGainSDD; //! Average gain of SDD good anodes
Bool_t fIsHLTmodeC; //! flag for HLT mode C status (used by SDD)
- const Char_t* fDigClassName[3]; //! String with digit class name.
+ const Char_t* fkDigClassName[3]; //! String with digit class name.
TClonesArray *fRecPoints; //! List of reconstructed points
#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliCDBMetaData.h"
-
#include "AliITSdigit.h"
#include "AliITSdigitSPD.h"
#include "AliITSdigitSDD.h"
#include "AliITSdigitSSD.h"
+#include "AliITSgeom.h"
#include "AliITSDetTypeSim.h"
#include "AliITSpListItem.h"
+#include "AliITSCalibration.h"
#include "AliITSCalibrationSDD.h"
#include "AliITSMapSDD.h"
#include "AliITSDriftSpeedArraySDD.h"
#include "AliITSsimulationSPD.h"
#include "AliITSsimulationSDD.h"
#include "AliITSsimulationSSD.h"
-
+#include "AliITSDDLModuleMapSDD.h"
const Int_t AliITSDetTypeSim::fgkNdettypes = 3;
const Int_t AliITSDetTypeSim::fgkDefaultNModulesSPD = 240;
fSegmentation(), // [NDet]
fCalibration(), // [NMod]
fSSDCalibration(0),
-fPreProcess(), // [] e.g. Fill fHitModule with hits
-fPostProcess(), // [] e.g. Wright Raw data
fNSDigits(0), //! number of SDigits
fSDigits("AliITSpListItem",1000),
fNDigits(0), //! number of Digits
fDigits(), //! [NMod][NDigits]
fSimuPar(0),
fDDLMapSDD(0),
-fHitClassName(), // String with Hit class name.
-fSDigClassName(),// String with SDigit class name.
-fDigClassName(), // String with digit class name.
+fkDigClassName(), // String with digit class name.
fLoader(0), // local pointer to loader
fFirstcall(kTRUE),
fIsHLTmodeC(0){ // flag
}
fCalibration = 0;
if(fSSDCalibration) delete fSSDCalibration;
- if(fPreProcess){
- fPreProcess->Delete();
- delete fPreProcess;
- }
- fPreProcess = 0;
- if(fPostProcess){
- fPostProcess->Delete();
- delete fPostProcess;
- }
- fPostProcess = 0;
if(fSimuPar) delete fSimuPar;
if(fDDLMapSDD) delete fDDLMapSDD;
if(fNDigits) delete [] fNDigits;
fSegmentation(source.fSegmentation), // [NDet]
fCalibration(source.fCalibration), // [NMod]
fSSDCalibration(source.fSSDCalibration),
-fPreProcess(source.fPreProcess), // [] e.g. Fill fHitModule with hits
-fPostProcess(source.fPostProcess), // [] e.g. Wright Raw data
fNSDigits(source.fNSDigits), //! number of SDigits
fSDigits(*((TClonesArray*)source.fSDigits.Clone())),
fNDigits(source.fNDigits), //! number of Digits
fDigits(source.fDigits), //! [NMod][NDigits]
fSimuPar(source.fSimuPar),
fDDLMapSDD(source.fDDLMapSDD),
-fHitClassName(source.fHitClassName), // String with Hit class name.
-fSDigClassName(source.fSDigClassName),// String with SDigit class name.
-fDigClassName(), // String with digit class name.
+fkDigClassName(), // String with digit class name.
fLoader(source.fLoader), // local pointer to loader
fFirstcall(source.fFirstcall),
fIsHLTmodeC(source.fIsHLTmodeC)
{
// Copy Constructor for object AliITSDetTypeSim not allowed
for(Int_t i=0;i<fgkNdettypes;i++){
- fDigClassName[i] = source.fDigClassName[i];
+ fkDigClassName[i] = source.fkDigClassName[i];
}
}
//----------------------------------------------------------------------
fSimulation->AddAt(sim,dettype);
}
//______________________________________________________________________
-AliITSsimulation* AliITSDetTypeSim::GetSimulationModel(Int_t dettype){
+AliITSsimulation* AliITSDetTypeSim::GetSimulationModel(Int_t dettype) const {
//Get simulation model for detector type
if(fSimulation==0) {
return (AliITSsimulation*)(fSimulation->At(dettype));
}
//______________________________________________________________________
-AliITSsimulation* AliITSDetTypeSim::GetSimulationModelByModule(Int_t module){
+AliITSsimulation* AliITSDetTypeSim::GetSimulationModelByModule(Int_t module) const {
//Get simulation model by module number
if(GetITSgeom()==0) {
fSegmentation->AddAt(seg,dettype);
}
//______________________________________________________________________
-AliITSsegmentation* AliITSDetTypeSim::GetSegmentationModel(Int_t dettype){
+AliITSsegmentation* AliITSDetTypeSim::GetSegmentationModel(Int_t dettype) const{
//Get segmentation model for detector type
if(fSegmentation==0) {
return (AliITSsegmentation*)(fSegmentation->At(dettype));
}
//_______________________________________________________________________
-AliITSsegmentation* AliITSDetTypeSim::GetSegmentationModelByModule(Int_t module){
+AliITSsegmentation* AliITSDetTypeSim::GetSegmentationModelByModule(Int_t module) const{
//Get segmentation model by module number
if(GetITSgeom()==0){
Warning("GetSegmentationModelByModule","GetITSgeom() is 0!");
if(fSegmentation) fSegmentation->Clear();
}
//_______________________________________________________________________
-AliITSCalibration* AliITSDetTypeSim::GetCalibrationModel(Int_t iMod){
+AliITSCalibration* AliITSDetTypeSim::GetCalibrationModel(Int_t iMod) const {
//Get response model for module number iMod
if(fCalibration==0) {
new(fSDigits[fNSDigits++]) AliITSpListItem(sdig);
}
//__________________________________________________________
-void AliITSDetTypeSim::AddSimDigit(Int_t branch, AliITSdigit* d){
+void AliITSDetTypeSim::AddSimDigit(Int_t branch, const AliITSdigit* d){
// Add a simulated digit.
TClonesArray &ldigits = *((TClonesArray*)fDigits->At(branch));
}
}
//______________________________________________________________________
-void AliITSDetTypeSim::StoreCalibration(Int_t firstRun, Int_t lastRun,
- AliCDBMetaData &md) {
- // Store calibration in the calibration database
- // The database must be created in an external piece of code (i.e.
- // a configuration macro )
-
- if(!AliCDBManager::Instance()->IsDefaultStorageSet()) {
- AliWarning("No storage set! Will use dummy one");
- AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
- }
-
- if (!fCalibration) {
- AliError("AliITSCalibration classes are not defined - nothing done");
- return;
- }
- AliCDBId idRespSPD("ITS/Calib/SPDDead",firstRun, lastRun);
- AliCDBId idRespSDD("ITS/Calib/CalibSDD",firstRun, lastRun);
- AliCDBId idRespSSD("ITS/Calib/CalibSSD",firstRun, lastRun);
-
- TObjArray respSPD(fNMod[0]);
- TObjArray respSDD(fNMod[1]-fNMod[0]);
- TObjArray respSSD(fNMod[2]-fNMod[1]);
- respSPD.SetOwner(kFALSE);
- respSSD.SetOwner(kFALSE);
- respSSD.SetOwner(kFALSE);
-
- Int_t index[fgkNdettypes];
- for (Int_t i = 0; i<fgkNdettypes; i++ ) {
- index[i] = 0;
- for (Int_t j = 0; j<=i; j++ )
- index[i]+=fNMod[j];
- }
-
- for (Int_t i = 0; i<index[0]; i++ )
- respSPD.Add(fCalibration->At(i));
-
- for (Int_t i = index[0]; i<index[1]; i++ )
- respSDD.Add(fCalibration->At(i));
-
- for (Int_t i = index[1]; i<index[2]; i++ )
- respSSD.Add(fCalibration->At(i));
-
- AliCDBManager::Instance()->Put(&respSPD, idRespSPD, &md);
- AliCDBManager::Instance()->Put(&respSDD, idRespSDD, &md);
- AliCDBManager::Instance()->Put(&respSSD, idRespSSD, &md);
-}
-
-//______________________________________________________________________
-void AliITSDetTypeSim::ReadOldSSDNoise(TObjArray *array,
+void AliITSDetTypeSim::ReadOldSSDNoise(const TObjArray *array,
AliITSNoiseSSDv2 *noiseSSD) {
//Reads the old SSD calibration object and converts it to the new format
const Int_t fgkSSDSTRIPSPERMODULE = 1536;
}
//______________________________________________________________________
-void AliITSDetTypeSim::ReadOldSSDBadChannels(TObjArray *array,
+void AliITSDetTypeSim::ReadOldSSDBadChannels(const TObjArray *array,
AliITSBadChannelsSSDv2 *badChannelsSSD) {
//Reads the old SSD calibration object and converts it to the new format
Int_t nMod = array->GetEntries();
}
//______________________________________________________________________
-void AliITSDetTypeSim::ReadOldSSDGain(TObjArray *array,
+void AliITSDetTypeSim::ReadOldSSDGain(const TObjArray *array,
AliITSGainSSDv2 *gainSSD) {
//Reads the old SSD calibration object and converts it to the new format
/////////////////////////////////////////////////////////////////////////
#include <TObject.h>
-#include <TObjArray.h>
-#include <TClonesArray.h>
-#include "AliITSCalibration.h"
-#include "AliITSSimuParam.h"
-#include "AliITSDDLModuleMapSDD.h"
#include "AliITSLoader.h"
-#include "AliITSgeom.h"
+#include "AliITSSimuParam.h"
+class TObjArray;
+class TClonesArray;
class TTree;
class AliCDBMetaData;
class AliITSdigit;
class AliITSGainSSDv2;
class AliITSBadChannelsSSDv2;
class AliITSNoiseSSDv2;
+class AliITSDDLModuleMapSDD;
+class AliITSCalibration;
+class AliITSgeom;
class AliITSDetTypeSim : public TObject {
public:
void SetITSgeom(AliITSgeom *geom);
virtual void SetSimulationModel(Int_t dettype,AliITSsimulation *sim);
- virtual AliITSsimulation* GetSimulationModel(Int_t dettype);
- virtual AliITSsimulation* GetSimulationModelByModule(Int_t module);
+ virtual AliITSsimulation* GetSimulationModel(Int_t dettype) const;
+ virtual AliITSsimulation* GetSimulationModelByModule(Int_t module) const;
virtual void SetSegmentationModel(Int_t dettype,AliITSsegmentation *seg);
- virtual AliITSsegmentation* GetSegmentationModel(Int_t dettype);
- virtual AliITSsegmentation* GetSegmentationModelByModule(Int_t module);
+ virtual AliITSsegmentation* GetSegmentationModel(Int_t dettype) const;
+ virtual AliITSsegmentation* GetSegmentationModelByModule(Int_t module) const;
virtual void SetCalibrationModel(Int_t iMod,AliITSCalibration *resp);
- virtual AliITSCalibration* GetCalibrationModel(Int_t iMod);
- /*
- virtual AliITSresponse* GetResponse(Int_t dettype) {
- return GetCalibrationModel(
- GetITSgeom()->GetStartDet(dettype))->GetResponse();}
- */
- virtual void SetSimuParam(AliITSSimuParam* spar){
+ virtual AliITSCalibration* GetCalibrationModel(Int_t iMod) const;
+
+ virtual void SetSimuParam(const AliITSSimuParam* spar){
if(fSimuPar) delete fSimuPar;
fSimuPar = new AliITSSimuParam(*spar);
}
virtual void SDigitsToDigits(Option_t *opt, Char_t* name);
virtual void AddSumDigit(AliITSpListItem &sdig);
- virtual void AddSimDigit(Int_t branch, AliITSdigit *d);
+ virtual void AddSimDigit(Int_t branch, const AliITSdigit *d);
virtual void AddSimDigit(Int_t branch,Float_t phys,Int_t* digits,
Int_t* tracks,Int_t *hits,Float_t* trkcharges,
Int_t sigexpanded=-1000);
virtual void SetDigitClassName(Int_t i, const Char_t* name) {
- fDigClassName[i]=name;}
- const Char_t* GetDigitClassName(Int_t i) const {return fDigClassName[i];}
- void StoreCalibration(Int_t firstRun, Int_t lastRun, AliCDBMetaData &md);
+ fkDigClassName[i]=name;}
+ const Char_t* GetDigitClassName(Int_t i) const {return fkDigClassName[i];}
protected:
virtual void CreateCalibrationArray();
void SetDefaultSegmentation(Int_t idet); // creates def segm.
//conversion of the old SSD calibration objects tothe new ones
- void ReadOldSSDNoise(TObjArray *array,
+ void ReadOldSSDNoise(const TObjArray *array,
AliITSNoiseSSDv2 *noiseSSD);
- void ReadOldSSDBadChannels(TObjArray *array,
+ void ReadOldSSDBadChannels(const TObjArray *array,
AliITSBadChannelsSSDv2 *badChannelsSSD);
- void ReadOldSSDGain(TObjArray *array,
+ void ReadOldSSDGain(const TObjArray *array,
AliITSGainSSDv2 *gainSSD);
static const Int_t fgkNdettypes; // number of different det. types
TObjArray *fSegmentation; //! [NDet]
TObjArray *fCalibration; //! [NMod]
AliITSCalibrationSSD* fSSDCalibration; //! SSD calibration object
- TObjArray *fPreProcess; //! [] e.g. Fill fHitModule with hits
- TObjArray *fPostProcess; //! [] e.g. Wright Raw data
Int_t fNSDigits; //! number of SDigits
TClonesArray fSDigits; //! Summable digits
Int_t* fNDigits; //! [NDet] number of Digits for det.
TObjArray *fDigits; //! [NMod][NDigits]
AliITSSimuParam *fSimuPar; //! detector simulation parameters
AliITSDDLModuleMapSDD *fDDLMapSDD; //! mapping DDL/module -> SDD module number
- TString fHitClassName; //! String with Hit class name
- TString fSDigClassName;//! String with SDigit class name.
- const Char_t* fDigClassName[3]; //! String with digit class name.
+ const Char_t* fkDigClassName[3]; //! String with digit class name.
AliITSLoader* fLoader; //! loader
Bool_t fFirstcall; //! flag
Bool_t fIsHLTmodeC; //! flag for HLT mode C status (used by SDD)
- ClassDef(AliITSDetTypeSim,8) // ITS Simulation structure
+ ClassDef(AliITSDetTypeSim,9) // ITS Simulation structure
};
// that are supposed to be generated by one particle.
// includes information about clusters on other side that it crosses with
#include "TObject.h"
-
-class TArrayI;
+#include "TArrayI.h"
class TConesArray;
class AliITSdigitSSD;
AliITSclusterSSD& operator=( const AliITSclusterSSD & source);
void AddDigit(Int_t index){//adds on digit
(*fDigitsIndex)[fNDigits++]=index;}
- TObjArray* GetPointer2Digits(){return fDigits;}// comment to be written
- void SetPointer2Digits(TObjArray *digits){// comment to be written
+ TObjArray* GetPointer2Digits() const {return fDigits;}// pointer to digits array
+ void SetPointer2Digits(TObjArray *digits){// array of digits
fDigits = digits;}
Int_t GetNumOfDigits() const {//Returns number of digits that creates this cluster
return fNDigits;}