51 #include "AliCDBManager.h"
52 #include "AliCDBEntry.h"
56 #include "AliLoader.h"
57 #include "AliCDBManager.h"
58 #include "AliDigitizationInput.h"
61 #include "AliRawDataHeaderSim.h"
64 #include <TObjArray.h>
102 fTriggerScalerEvent(kFALSE),
103 fTriggerResponseV1(2),
105 fTriggerEffCells(kTRUE),
106 fDigitizerWithNoise(1),
107 fDigitizerNSigmas(4.0),
108 fIsTailEffect(kTRUE),
109 fConvertTrigger(kFALSE),
113 fDigitStoreConcreteClassName(),
114 fCalibrationData(0x0),
115 fDigitCalibrator(0x0)
119 AliDebug(1,Form(
"default (empty) ctor this=%p",
this));
125 : AliDetector(name, title),
141 fTriggerScalerEvent(kFALSE),
142 fTriggerResponseV1(2),
144 fTriggerEffCells(kTRUE),
145 fDigitizerWithNoise(1),
146 fDigitizerNSigmas(4.0),
147 fIsTailEffect(kTRUE),
148 fConvertTrigger(kFALSE),
152 fDigitStoreConcreteClassName(
"AliMUONDigitStoreV2S"),
154 fDigitCalibrator(0x0)
158 AliDebug(1,Form(
"ctor this=%p",
this));
188 for (Int_t stCH = 0; stCH < 2; stCH++) {
201 Int_t runnumber = AliCDBManager::Instance()->GetRun();
211 AliDebug(1,Form(
"dtor this=%p",
this));
235 AliWarningStream() <<
"GeometryBuilder not defined." << std::endl;
249 if ( !kGeometry)
return 0;
262 if ( sopt !=
"H" )
return;
269 if (
gAlice->GetMCApp()->GetHitLists() )
278 TTree* treeH = fLoader->TreeH();
282 AliFatal(
"No TreeH");
459 fLoader->TreeD()->Write(hname,TObject::kOverwrite);
460 fLoader->TreeD()->Reset();
477 AliRawDataHeaderSim header;
482 AliDebug(1,Form(
"Creating %s",
fRawWriter->ClassName()));
489 fLoader->LoadDigits(
"READ");
491 TTree* treeD = fLoader->TreeD();
495 AliError(
"Could not get TreeD");
502 triggerStore->
Connect(*treeD,kFALSE);
503 digitStore->
Connect(*treeD,kFALSE);
510 AliError(
"pb writting raw data");
516 fLoader->UnloadDigits();
524 if (!fLoader->TreeS()) fLoader->MakeSDigitsContainer();
526 TTree* treeS = fLoader->TreeS();
537 triggerStore->
Connect(*treeS,
true);
547 AliFatal(
"Cannot work without recoparams !");
563 while ( ( sdigit = static_cast<AliMUONDigit*>(next()) ) )
570 fLoader->WriteSDigits(
"OVERWRITE");
572 fLoader->UnloadSDigits();
587 AliDebug(1,Form(
"Creating standard getter for detector %s. Top folder is %s.",
588 GetName(),topfoldername));
589 fLoader =
new AliLoader(GetName(),topfoldername);
655 AliCDBEntry* entry = AliCDBManager::Instance()->Get(
"MUON/Calib/RecoParam");
660 if (!(recoParam = dynamic_cast<AliMUONRecoParam*>(entry->GetObject())))
664 for(Int_t i = 0; i < recoParamArray->GetEntriesFast(); ++i)
667 if (recoParam && recoParam->IsDefault())
break;
const AliMUONGeometry * GetGeometry() const
AliMUONVHitStore * fHitStore
! container of hits
virtual void SetAlign(Bool_t align=true)
Reading Raw data class for trigger and tracker chambers.
void SetMakeTriggerDigits(Bool_t flag=kFALSE)
Set flag whether or not we should generate digits for the trigger.
const TString DigitStoreClassName() const
Return digit store class name.
AliMUONDigitCalibrator * fDigitCalibrator
! digit calibrator (for raw2sdigits)
Abstract base class for geometry construction per module(s)
void AddBuilder(AliMUONVGeometryBuilder *geomBuilder)
Manager class for geometry construction via geometry builders.
Bool_t fConvertTrigger
Switch to enable trigger raw2sdigit conversion.
Interface for a digit container.
virtual void Calibrated(Bool_t value)
Set the calibrated status (see note 1 in AliMUONVDigit.cxx)
Implementation of AliMUONVTriggerStore.
AliMUONGeometryTransformer * GetTransformer() const
Return geometry transformer.
virtual Float_t GetMaxStepGas() const
static Int_t NTrackingCh()
Return number of tracking chambers.
Class to build common materials.
Implementation of AliMUONVHitStore.
virtual Float_t GetMaxDestepGas() const
Float_t fMaxStepGas
Maximum step size inside the chamber gas.
MUON tracking chamber class.
virtual void SetAlign(Bool_t align=true)
virtual void SetMaxDestepGas(Float_t p1)
AliMUONRecoParam * GetRecoParam() const
virtual void SetSigmaIntegration(Int_t id, Float_t p1)
virtual Bool_t GetTriggerEffCells() const
virtual Bool_t Raw2SDigits(AliRawReader *rawReader)
TObjArray * fChambers
List of Tracking Chambers.
AliDetector class for MUON subsystem providing simulation data management.
virtual AliLoader * MakeLoader(const char *topfoldername)
Return segmentation.
Class with MUON reconstruction parameters.
MUON SDigitizer (from Hits to SDigits).
Base class of a trigger information store.
virtual void SetMaxAdc(Int_t id, Int_t p1)
virtual TIterator * CreateIterator() const =0
Create an iterator to loop over all our digits.
virtual Int_t GetTriggerCoinc44() const
void AddGeometryBuilder(AliMUONVGeometryBuilder *geomBuilder)
Int_t Raw2Digits(AliRawReader *rawReader, AliMUONVDigitStore *digitContainer=0, AliMUONVTriggerStore *triggerStore=0)
const AliMUONGeometry * GetGeometry() const
Return geometry parametrisation.
virtual void SetMaxStepGas(Float_t p1)
Int_t fTriggerCoinc44
Flag to select TriggerCoinc44.
virtual void SetResponseModel(Int_t id, const AliMUONResponse &response)
Double_t fDigitizerNSigmas
nsigma cut for noise generation
Int_t Digits2Raw(const AliMUONVDigitStore *digitStore, const AliMUONVTriggerStore *triggerStore)
virtual AliMUONVDigitStore * Create() const =0
Create an (empty) object of the same concrete class as *this.
Float_t fMaxStepAlu
Maximum step size inside the chamber aluminum.
virtual AliMUONVStore * Create() const =0
Create an empty copy of this.
Int_t fTriggerResponseV1
Flag to select TriggerResponseV1 (for cluster size in MTR)
Float_t fMaxDestepGas
Maximum relative energy loss in gas.
Class to calibrate the digits.
virtual Int_t GetDigitizerWithNoise() const
virtual void SetTreeAddress()
virtual Int_t GetTriggerResponseV1() const
const AliMUONGeometryTransformer * GetGeometryTransformer() const
Bool_t fTriggerScalerEvent
Flag to generates scaler event.
Container class for geometry modules.
virtual TCollection * Collection()=0
Must be implemented to allow connection using MCApp()->AddHitList()
void ResetGeometryBuilder()
MUON Station2 detailed geometry construction class.
MUON Station1 detailed geometry construction class.
Raw data class for trigger and tracker chambers.
virtual void Digitize(Option_t *opt="")
AliMUONGeometryBuilder * fGeometryBuilder
Geometry builder.
static Int_t NCh()
Return number of chambers.
AliMUONDigitMaker * fDigitMaker
! pointer to the digit maker class
Single entry point to access MUON calibration data.
Chamber response base class.
virtual Float_t GetMaxStepAlu() const
AliMUONCalibrationData * fCalibrationData
pointer of calibration data
Bool_t fTriggerEffCells
Flag to select TriggerEffCells.
virtual Float_t GetMaxDestepAlu() const
virtual void SetMaxStepAlu(Float_t p1)
void SetHeader(AliRawDataHeaderSim &header)
Set the header of DDL.
virtual void SDigits2Digits()
virtual void Digits2Raw()
virtual void MakeBranch(Option_t *opt=" ")
Float_t fMaxDestepAlu
Maximum relative energy loss in aluminum.
virtual void Clear(Option_t *opt="")=0
Clear ourselves (i.e. Reset)
virtual void SetMaxDestepAlu(Float_t p1)
virtual AliDigitizer * CreateDigitizer(AliDigitizationInput *digInput) const
Digitizer (from SDigit to Digit), performing digit de-calibration.
virtual void SetChargeSpread(Int_t id, Float_t p1, Float_t p2)
Muon trigger chamber class.
virtual void SetChargeSlope(Int_t id, Float_t p1)
static void SetNSigmas(Double_t nsigmas=4.0)
Set the number of sigmas for pedestal cut.
virtual Bool_t Connect(TTree &tree, Bool_t alone=kTRUE) const
Connect us to a TTree (only valid if CanConnect()==kTRUE)
MUON Trigger stations geometry construction class.
Int_t fDigitizerWithNoise
Flag to switch on/off generation of noisy digits.
void SetCalibrationData(AliMUONCalibrationData *calibrationData, AliMUONRecoParam *recoParam)
Set calibration (and recoparam) data.
AliMUONRawWriter * fRawWriter
! Raw data writer
MUON Station3 geometry construction class.
virtual void Calibrate(AliMUONVDigitStore &digitStore)
virtual void Hits2SDigits()