AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUON.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 /* $Id$ */
17 
18 //-----------------------------------------------------------------------------
19 // Class AliMUON
20 // ------------------
21 // AliDetector class for MUON subsystem
22 // providing simulation data management
23 //-----------------------------------------------------------------------------
24 
25 #include <TTree.h>
26 #include "AliMUON.h"
27 
28 #include "AliMUONSDigitizerV2.h"
29 #include "AliMUONDigitizerV3.h"
30 #include "AliMUONDigitMaker.h"
31 #include "AliMUONDigit.h"
32 #include "AliMUONCalibrationData.h"
33 
34 #include "AliMUONDigitStoreV1.h"
35 #include "AliMUONTriggerStoreV1.h"
36 #include "AliMUONHitStoreV1.h"
37 
38 #include "AliMUONChamberTrigger.h"
39 #include "AliMUONConstants.h"
40 #include "AliMUONGeometry.h"
42 #include "AliMUONGeometryBuilder.h"
43 #include "AliMUONVGeometryBuilder.h"
49 #include "AliMUONDigitCalibrator.h"
50 #include "AliMUONRecoParam.h"
51 #include "AliCDBManager.h"
52 #include "AliCDBEntry.h"
53 
54 #include "AliMUONRawWriter.h"
55 
56 #include "AliLoader.h"
57 #include "AliCDBManager.h"
58 #include "AliDigitizationInput.h"
59 #include "AliMC.h"
60 #include "AliRun.h"
61 #include "AliRawDataHeaderSim.h"
62 #include "AliLog.h"
63 
64 #include <TObjArray.h>
65 
66 // Defaults parameters for Z positions of chambers
67 // taken from values for "stations" in AliMUON::AliMUON
68 // const Float_t zch[7]={528, 690., 975., 1249., 1449., 1610, 1710.};
69 // and from array "dstation" in AliMUONv1::CreateGeometry
70 // Float_t dstation[5]={20., 20., 20, 20., 20.};
71 // for tracking chambers,
72 // according to (Z1 = zch - dstation) and (Z2 = zch + dstation)
73 // for the first and second chambers in the station, respectively,
74 // and from "DTPLANES" in AliMUONv1::CreateGeometry
75 // const Float_t DTPLANES = 15.;
76 // for trigger chambers,
77 // according to (Z1 = zch) and (Z2 = zch + DTPLANES)
78 // for the first and second chambers in the station, respectively
79 
82 
84 //__________________________________________________________________
86  : AliDetector(),
87  fNCh(0),
88  fNTrackingCh(0),
89  fSplitLevel(0),
90  fChambers(0),
91  fGeometryBuilder(0),
92  fAccCut(kFALSE),
93  fAccMin(0.),
94  fAccMax(0.),
95  fMaxStepGas(0.),
96  fMaxStepAlu(0.),
97  fMaxDestepGas(0.),
98  fMaxDestepAlu(0.),
99  fMaxIterPad(0),
100  fCurIterPad(0),
101  fIsMaxStep(kTRUE),
102  fTriggerScalerEvent(kFALSE),
103  fTriggerResponseV1(2),
104  fTriggerCoinc44(0),
105  fTriggerEffCells(kTRUE),
106  fDigitizerWithNoise(1),
107  fDigitizerNSigmas(4.0),
108  fIsTailEffect(kTRUE),
109  fConvertTrigger(kFALSE),
110  fRawWriter(0x0),
111  fDigitMaker(0x0),
112  fHitStore(0x0),
113  fDigitStoreConcreteClassName(),
114  fCalibrationData(0x0),
115  fDigitCalibrator(0x0)
116 {
118 
119  AliDebug(1,Form("default (empty) ctor this=%p",this));
120  fIshunt = 0;
121 }
122 
123 //__________________________________________________________________
124 AliMUON::AliMUON(const char *name, const char* title)
125  : AliDetector(name, title),
126  fNCh(AliMUONConstants::NCh()),
127  fNTrackingCh(AliMUONConstants::NTrackingCh()),
128  fSplitLevel(0),
129  fChambers(0),
130  fGeometryBuilder(0),
131  fAccCut(kFALSE),
132  fAccMin(0.),
133  fAccMax(0.),
134  fMaxStepGas(0.1),
135  fMaxStepAlu(0.1),
136  fMaxDestepGas(-1), // Negatives values are ignored by geant3 CONS200
137  fMaxDestepAlu(-1), // in the calculation of the tracking parameters
138  fMaxIterPad(0),
139  fCurIterPad(0),
140  fIsMaxStep(kTRUE),
141  fTriggerScalerEvent(kFALSE),
142  fTriggerResponseV1(2),
143  fTriggerCoinc44(0),
144  fTriggerEffCells(kTRUE),
145  fDigitizerWithNoise(1),
146  fDigitizerNSigmas(4.0),
147  fIsTailEffect(kTRUE),
148  fConvertTrigger(kFALSE),
149  fRawWriter(0x0),
150  fDigitMaker(new AliMUONDigitMaker),
151  fHitStore(0x0),
152  fDigitStoreConcreteClassName("AliMUONDigitStoreV2S"),
153  fCalibrationData(),
154  fDigitCalibrator(0x0)
155 {
157 
158  AliDebug(1,Form("ctor this=%p",this));
159  fIshunt = 0;
160 
161  //PH SetMarkerColor(kRed);//
162 
163  // Geometry builder
165 
166  // Common geometry definitions
169 
170  // By default, add also all the needed geometry builders.
171  // If you want to change this from outside, please use ResetGeometryBuilder
172  // method, followed by AddGeometryBuilder ones.
173 
178 
179  //
180  // Creating List of Chambers
181  Int_t ch;
183  fChambers->SetOwner(kTRUE);
184 
185  // Loop over stations
186  for (Int_t st = 0; st < AliMUONConstants::NCh() / 2; st++) {
187  // Loop over 2 chambers in the station
188  for (Int_t stCH = 0; stCH < 2; stCH++) {
189  //
190  //
191  // Default Parameters for Muon Tracking Stations
192  ch = 2 * st + stCH;
193  if (ch < AliMUONConstants::NTrackingCh()) {
194  fChambers->AddAt(new AliMUONChamber(ch),ch);
195  } else {
197  }
198  } // Chamber stCH (0, 1) in
199  } // Station st (0...)
200 
201  Int_t runnumber = AliCDBManager::Instance()->GetRun();
202 
203  fCalibrationData = new AliMUONCalibrationData(runnumber);
204 }
205 
206 //____________________________________________________________________
208 {
210 
211  AliDebug(1,Form("dtor this=%p",this));
212  delete fChambers;
213  delete fGeometryBuilder;
214  delete fRawWriter;
215  delete fDigitMaker;
216  delete fHitStore;
217  delete fCalibrationData;
218  delete fDigitCalibrator;
219 }
220 
221 //_____________________________________________________________________________
223 {
225 
226  fGeometryBuilder->AddBuilder(geomBuilder);
227 }
228 
229 //____________________________________________________________________
231 {
233 
234  if ( !fGeometryBuilder) {
235  AliWarningStream() << "GeometryBuilder not defined." << std::endl;
236  return 0;
237  }
238 
239  return fGeometryBuilder->GetGeometry();
240 }
241 
242 //____________________________________________________________________
244 {
246 
247  const AliMUONGeometry* kGeometry = GetGeometry();
248 
249  if ( !kGeometry) return 0;
250 
251  return kGeometry->GetTransformer();
252 }
253 
254 //__________________________________________________________________
255 void
256 AliMUON::MakeBranch(Option_t* opt)
257 {
259  AliDebug(1,"");
260 
261  TString sopt(opt);
262  if ( sopt != "H" ) return;
263 
264  if (!fHitStore)
265  {
267  if ( gAlice->GetMCApp() )
268  {
269  if ( gAlice->GetMCApp()->GetHitLists() )
270  {
271  // AliStack::PurifyKine needs to be able to loop on our hits
272  // to remap the track numbers.
273  gAlice->GetMCApp()->AddHitList(fHitStore->Collection());
274  }
275  }
276  }
277 
278  TTree* treeH = fLoader->TreeH();
279 
280  if (!treeH)
281  {
282  AliFatal("No TreeH");
283  }
284 
285  fHitStore->Connect(*treeH);
286 }
287 
288 //__________________________________________________________________
289 void
291 {
293 
294 // if ( gAlice->GetMCApp() && fHitStore )
295 // {
296 // TList* l = gAlice->GetMCApp()->GetHitLists();
297 // if ( l )
298 // {
299 // TObject* o = l->First();
300 // if (o!=fHitStore->HitCollection())
301 // {
302 // AliError(Form("Something is strange hitcollection=%x",fHitStore->HitCollection()));
303 // l->Print();
304 // }
305 // }
306 // }
307 }
308 
309 //_________________________________________________________________
310 void
312 {
314 
315  AliDebug(1,"");
316  if (fHitStore) fHitStore->Clear();
317 }
318 
319 //_________________________________________________________________
320 void AliMUON::SetChargeSlope(Int_t id, Float_t p1)
321 {
323 
324  Int_t i=2*(id-1); //PH ((AliMUONChamber*) (*fChambers)[i])->SetSigmaIntegration(p1);
325  //PH ((AliMUONChamber*) (*fChambers)[i+1])->SetSigmaIntegration(p1);
326  ((AliMUONChamber*) fChambers->At(i))->SetChargeSlope(p1);
327  ((AliMUONChamber*) fChambers->At(i+1))->SetChargeSlope(p1);
328 }
329 //__________________________________________________________________
330 void AliMUON::SetChargeSpread(Int_t id, Float_t p1, Float_t p2)
331 {
333 
334  Int_t i=2*(id-1);
335  ((AliMUONChamber*) fChambers->At(i))->SetChargeSpread(p1,p2);
336  ((AliMUONChamber*) fChambers->At(i+1))->SetChargeSpread(p1,p2);
337 }
338 //___________________________________________________________________
339 void AliMUON::SetSigmaIntegration(Int_t id, Float_t p1)
340 {
342  Int_t i=2*(id-1);
344  ((AliMUONChamber*) fChambers->At(i+1))->SetSigmaIntegration(p1);
345 }
346 
347 //__________________________________________________________________
348 void AliMUON::SetMaxAdc(Int_t id, Int_t p1)
349 {
351 
352  Int_t i=2*(id-1);
353  ((AliMUONChamber*) fChambers->At(i))->SetMaxAdc(p1);
354  ((AliMUONChamber*) fChambers->At(i+1))->SetMaxAdc(p1);
355 }
356 
357 //__________________________________________________________________
358 void AliMUON::SetMaxStepGas(Float_t p1)
359 {
361 
362  fMaxStepGas=p1;
363 }
364 //__________________________________________________________________
365 void AliMUON::SetMaxStepAlu(Float_t p1)
366 {
368 
369  fMaxStepAlu=p1;
370 }
371 //__________________________________________________________________
372 void AliMUON::SetMaxDestepGas(Float_t p1)
373 {
375 
376  fMaxDestepGas=p1;
377 }
378 //__________________________________________________________________
379 void AliMUON::SetMaxDestepAlu(Float_t p1)
380 {
382 
383  fMaxDestepAlu=p1;
384 }
385 
386 //____________________________________________________________________
387 Float_t AliMUON::GetMaxStepGas() const
388 {
390 
391  return fMaxStepGas;
392 }
393 
394 //____________________________________________________________________
395 Float_t AliMUON::GetMaxStepAlu() const
396 {
398 
399  return fMaxStepAlu;
400 }
401 
402 //____________________________________________________________________
404 {
406 
407  return fMaxDestepGas;
408 }
409 
410 //____________________________________________________________________
412 {
414 
415  return fMaxDestepAlu;
416 }
417 
418 //____________________________________________________________________
420 {
422 
423  fGeometryBuilder->SetAlign(align);
424 }
425 
426 //____________________________________________________________________
427  void AliMUON::SetAlign(const TString& fileName, Bool_t align)
428 {
430 
431  fGeometryBuilder->SetAlign(fileName, align);
432 }
433 
434 //____________________________________________________________________
435 void AliMUON::SetResponseModel(Int_t id, const AliMUONResponse& response)
436 {
438  ((AliMUONChamber*) fChambers->At(id))->SetResponseModel(response);
439 }
440 
441 //____________________________________________________________________
442 AliDigitizer* AliMUON::CreateDigitizer(AliDigitizationInput* digInput) const
443 {
445 
446  AliMUONDigitizerV3* digitizer = new AliMUONDigitizerV3(digInput, fDigitizerWithNoise);
449  return digitizer;
450 }
451 
452 //_____________________________________________________________________
454 {
456 
457  char hname[30];
458  // sprintf(hname,"TreeD%d",fLoader->GetHeader()->GetEvent());
459  fLoader->TreeD()->Write(hname,TObject::kOverwrite);
460  fLoader->TreeD()->Reset();
461 }
462 
463 //_____________________________________________________________________
465 {
467 
468  AliMUONSDigitizerV2 sdigitizer;
469  sdigitizer.Digitize();
470 }
471 
472 //_____________________________________________________________________
474 {
476 
477  AliRawDataHeaderSim header;
478 
479  if (!fRawWriter)
480  {
482  AliDebug(1,Form("Creating %s",fRawWriter->ClassName()));
483  if (fTriggerScalerEvent == kTRUE)
484  {
486  }
487  }
488 
489  fLoader->LoadDigits("READ");
490 
491  TTree* treeD = fLoader->TreeD();
492 
493  if (!treeD)
494  {
495  AliError("Could not get TreeD");
496  return;
497  }
498 
499  AliMUONVTriggerStore* triggerStore = AliMUONVTriggerStore::Create(*treeD);
500  AliMUONVDigitStore* digitStore = AliMUONVDigitStore::Create(*treeD);
501 
502  triggerStore->Connect(*treeD,kFALSE);
503  digitStore->Connect(*treeD,kFALSE);
504 
505  treeD->GetEvent(0);
506 
507  fRawWriter->SetHeader(header);
508  if (!fRawWriter->Digits2Raw(digitStore,triggerStore))
509  {
510  AliError("pb writting raw data");
511  }
512 
513  delete triggerStore;
514  delete digitStore;
515 
516  fLoader->UnloadDigits();
517 }
518 
519 //_____________________________________________________________________
520 Bool_t AliMUON::Raw2SDigits(AliRawReader* rawReader)
521 {
523 
524  if (!fLoader->TreeS()) fLoader->MakeSDigitsContainer();
525 
526  TTree* treeS = fLoader->TreeS();
527 
529  AliMUONVTriggerStore* triggerStore = 0x0;
530 
531  sDigitStore->Connect(*treeS);
532 
534 
535  if (fConvertTrigger) {
536  triggerStore = new AliMUONTriggerStoreV1;
537  triggerStore->Connect(*treeS,true);
539  }
540 
541  if (!fDigitCalibrator)
542  {
543  AliMUONRecoParam* recoParam = GetRecoParam();
544 
545  if (!recoParam)
546  {
547  AliFatal("Cannot work without recoparams !");
548  }
549 
551  }
552 
553  fDigitMaker->Raw2Digits(rawReader,sDigitStore,triggerStore);
554 
555  fDigitCalibrator->Calibrate(*sDigitStore);
556 
557  TIter next(sDigitStore->CreateIterator());
558  AliMUONDigit* sdigit;
559 
560  // now tweak the digits to make them "as fresh as possible", i.e.
561  // reset their calibrated status, as they'll be calibrated again
562  // once embedded.
563  while ( ( sdigit = static_cast<AliMUONDigit*>(next()) ) )
564  {
565  sdigit->Calibrated(kFALSE);
566  }
567 
568  treeS->Fill();
569 
570  fLoader->WriteSDigits("OVERWRITE");
571 
572  fLoader->UnloadSDigits();
573 
574  delete sDigitStore;
575 
576  delete triggerStore;
577 
578  return kTRUE;
579 }
580 
581 //_______________________________________________________________________
582 AliLoader* AliMUON::MakeLoader(const char* topfoldername)
583 {
586 
587  AliDebug(1,Form("Creating standard getter for detector %s. Top folder is %s.",
588  GetName(),topfoldername));
589  fLoader = new AliLoader(GetName(),topfoldername);
590 
591  return fLoader;
592 }
593 
594 //________________________________________________________________________
595 void
597 {
603 
604  delete fGeometryBuilder;
608 }
609 
610 //____________________________________________________________________
612 {
616  return fTriggerResponseV1;
617 
618 }
619 
620 //____________________________________________________________________
622 {
626  return fTriggerCoinc44;
627 
628 }
629 
630 //____________________________________________________________________
632 {
636  return fTriggerEffCells;
637 
638 }
639 
640 //____________________________________________________________________
642 {
646  return fDigitizerWithNoise;
647 
648 }
649 
650 //____________________________________________________________________
652 {
653  AliMUONRecoParam* recoParam = 0x0;
654 
655  AliCDBEntry* entry = AliCDBManager::Instance()->Get("MUON/Calib/RecoParam");
656 
657  if (entry)
658  {
659  // load recoParam according OCDB content (single or array)
660  if (!(recoParam = dynamic_cast<AliMUONRecoParam*>(entry->GetObject())))
661  {
662  TObjArray* recoParamArray = static_cast<TObjArray*>(entry->GetObject());
663 
664  for(Int_t i = 0; i < recoParamArray->GetEntriesFast(); ++i)
665  {
666  recoParam = static_cast<AliMUONRecoParam*>(recoParamArray->UncheckedAt(i));
667  if (recoParam && recoParam->IsDefault()) break;
668  recoParam = 0x0;
669  }
670  }
671  }
672  return recoParam;
673 }
674 
675 
const AliMUONGeometry * GetGeometry() const
Definition: AliMUON.cxx:230
AliMUONVHitStore * fHitStore
! container of hits
Definition: AliMUON.h:192
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.
Definition: AliMUON.h:144
AliMUONDigitCalibrator * fDigitCalibrator
! digit calibrator (for raw2sdigits)
Definition: AliMUON.h:198
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.
Definition: AliMUON.h:186
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
Definition: AliMUON.cxx:387
#define TObjArray
AliTPCcalibAlign align
Definition: CalibAlign.C:43
virtual void ResetHits()
Definition: AliMUON.cxx:311
static Int_t NTrackingCh()
Return number of tracking chambers.
Class to build common materials.
Implementation of AliMUONVHitStore.
virtual Float_t GetMaxDestepGas() const
Definition: AliMUON.cxx:403
Float_t fMaxStepGas
Maximum step size inside the chamber gas.
Definition: AliMUON.h:168
Top container class for geometry transformations.
MUON tracking chamber class.
virtual void SetAlign(Bool_t align=true)
Definition: AliMUON.cxx:419
virtual void SetMaxDestepGas(Float_t p1)
Definition: AliMUON.cxx:372
AliMUONRecoParam * GetRecoParam() const
Definition: AliMUON.cxx:651
virtual void SetSigmaIntegration(Int_t id, Float_t p1)
Definition: AliMUON.cxx:339
virtual Bool_t GetTriggerEffCells() const
Definition: AliMUON.cxx:631
virtual Bool_t Raw2SDigits(AliRawReader *rawReader)
Definition: AliMUON.cxx:520
TObjArray * fChambers
List of Tracking Chambers.
Definition: AliMUON.h:159
AliDetector class for MUON subsystem providing simulation data management.
Definition: AliMUON.h:37
virtual AliLoader * MakeLoader(const char *topfoldername)
Return segmentation.
Definition: AliMUON.cxx:582
Class with MUON reconstruction parameters.
AliMUON()
Definition: AliMUON.cxx:85
MUON SDigitizer (from Hits to SDigits).
Base class of a trigger information store.
virtual void SetMaxAdc(Int_t id, Int_t p1)
Definition: AliMUON.cxx:348
virtual TIterator * CreateIterator() const =0
Create an iterator to loop over all our digits.
virtual Int_t GetTriggerCoinc44() const
Definition: AliMUON.cxx:621
void AddGeometryBuilder(AliMUONVGeometryBuilder *geomBuilder)
Definition: AliMUON.cxx:222
Int_t Raw2Digits(AliRawReader *rawReader, AliMUONVDigitStore *digitContainer=0, AliMUONVTriggerStore *triggerStore=0)
const AliMUONGeometry * GetGeometry() const
Return geometry parametrisation.
virtual void SetMaxStepGas(Float_t p1)
Definition: AliMUON.cxx:358
ClassImp(TPCGenInfo)
Definition: AliTPCCmpNG.C:254
Int_t fTriggerCoinc44
Flag to select TriggerCoinc44.
Definition: AliMUON.h:181
virtual void SetResponseModel(Int_t id, const AliMUONResponse &response)
Definition: AliMUON.cxx:435
Double_t fDigitizerNSigmas
nsigma cut for noise generation
Definition: AliMUON.h:184
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.
Definition: AliMUON.h:169
virtual AliMUONVStore * Create() const =0
Create an empty copy of this.
Int_t fTriggerResponseV1
Flag to select TriggerResponseV1 (for cluster size in MTR)
Definition: AliMUON.h:180
Float_t fMaxDestepGas
Maximum relative energy loss in gas.
Definition: AliMUON.h:170
MUON digit.
Definition: AliMUONDigit.h:17
Class to calibrate the digits.
MUON global constants.
virtual Int_t GetDigitizerWithNoise() const
Definition: AliMUON.cxx:641
virtual void SetTreeAddress()
Definition: AliMUON.cxx:290
virtual Int_t GetTriggerResponseV1() const
Definition: AliMUON.cxx:611
const AliMUONGeometryTransformer * GetGeometryTransformer() const
Definition: AliMUON.cxx:243
Bool_t fTriggerScalerEvent
Flag to generates scaler event.
Definition: AliMUON.h:179
Container class for geometry modules.
virtual TCollection * Collection()=0
Must be implemented to allow connection using MCApp()->AddHitList()
AliRun * gAlice
void ResetGeometryBuilder()
Definition: AliMUON.cxx:596
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.
Definition: AliMUON.h:160
static Int_t NCh()
Return number of chambers.
AliMUONDigitMaker * fDigitMaker
! pointer to the digit maker class
Definition: AliMUON.h:190
Single entry point to access MUON calibration data.
Chamber response base class.
virtual Float_t GetMaxStepAlu() const
Definition: AliMUON.cxx:395
AliMUONCalibrationData * fCalibrationData
pointer of calibration data
Definition: AliMUON.h:196
Bool_t fTriggerEffCells
Flag to select TriggerEffCells.
Definition: AliMUON.h:182
virtual Float_t GetMaxDestepAlu() const
Definition: AliMUON.cxx:411
virtual void SetMaxStepAlu(Float_t p1)
Definition: AliMUON.cxx:365
void SetHeader(AliRawDataHeaderSim &header)
Set the header of DDL.
virtual void SDigits2Digits()
Definition: AliMUON.cxx:453
virtual void Digits2Raw()
Definition: AliMUON.cxx:473
virtual void MakeBranch(Option_t *opt=" ")
Definition: AliMUON.cxx:256
virtual ~AliMUON()
Definition: AliMUON.cxx:207
Float_t fMaxDestepAlu
Maximum relative energy loss in aluminum.
Definition: AliMUON.h:171
virtual void Clear(Option_t *opt="")=0
Clear ourselves (i.e. Reset)
virtual void SetMaxDestepAlu(Float_t p1)
Definition: AliMUON.cxx:379
virtual AliDigitizer * CreateDigitizer(AliDigitizationInput *digInput) const
Definition: AliMUON.cxx:442
Digitizer (from SDigit to Digit), performing digit de-calibration.
virtual void SetChargeSpread(Int_t id, Float_t p1, Float_t p2)
Definition: AliMUON.cxx:330
Muon trigger chamber class.
virtual void SetChargeSlope(Int_t id, Float_t p1)
Definition: AliMUON.cxx:320
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.
Definition: AliMUON.h:183
void SetCalibrationData(AliMUONCalibrationData *calibrationData, AliMUONRecoParam *recoParam)
Set calibration (and recoparam) data.
AliMUONRawWriter * fRawWriter
! Raw data writer
Definition: AliMUON.h:188
MUON Station3 geometry construction class.
virtual void Calibrate(AliMUONVDigitStore &digitStore)
virtual void Hits2SDigits()
Definition: AliMUON.cxx:464