AliDigitizationInput.cxx RS: Created from former AliDigitizationInput. It does not anymore manage digitization: (now it is steared by the AliSimulation) but just provides input info for AliDetector::SDigits2Ditits. Manager object for merging/digitization Instance of this class manages the digitization and/or merging of Sdigits into Digits. Only one instance of this class is created in the macro: AliDigitizationInput * manager = new AliDigitizationInput(nInputStreams,SPERB); where nInputStreams is number of input streams and SPERB is signals per background variable, which determines how combinations of signal and background events are generated. Then instances of specific detector digitizers are created: AliMUONDigitizer *dMUON = new AliMUONDigitizer(manager) and the I/O configured (you have to specify input files and an output file). The manager connects appropriate trees from the input files according a combination returned by AliMergeCombi class. It creates TreeD in the output and runs once per event Digitize method of all existing AliDetDigitizers (without any option). AliDetDigitizers ask manager for a TTree with input (manager->GetInputTreeS(Int_t i), merge all inputs, digitize it, and save it in the TreeD obtained by manager->GetTreeD(). Output events are stored with numbers from 0, this default can be changed by manager->SetFirstOutputEventNr(Int_t) method. The particle numbers in the output are shifted by MASK, which is taken from manager. The default output is to the signal file (stream 0). This can be changed with the SetOutputFile(TString fn) method. Single input file is permitted. Maximum MAXSTREAMSTOMERGE can be merged. Input from the memory (on-the-fly merging) is not yet supported, as well as access to the input data by invoking methods on the output data. Access to the some data is via gAlice for now (supposing the same geometry in all input files), gAlice is taken from the first input file on the first stream. Example with MUON digitizer, no merging, just digitization AliDigitizationInput * manager = new AliDigitizationInput(1,1); manager->SetInputStream(0,"galice.root"); AliMUONDigitizer *dMUON = new AliMUONDigitizer(manager); manager->Exec(""); Example with MUON digitizer, merge all events from galice.root (signal) file with events from bgr.root (background) file. Number of merged events is min(number of events in galice.root, number of events in bgr.root) AliDigitizationInput * manager = new AliDigitizationInput(2,1); manager->SetInputStream(0,"galice.root"); manager->SetInputStream(1,"bgr.root"); AliMUONDigitizer *dMUON = new AliMUONDigitizer(manager); manager->Exec(""); Example with MUON digitizer, save digits in a new file digits.root, process only 1 event AliDigitizationInput * manager = new AliDigitizationInput(2,1); manager->SetInputStream(0,"galice.root"); manager->SetInputStream(1,"bgr.root"); manager->SetOutputFile("digits.root"); AliMUONDigitizer *dMUON = new AliMUONDigitizer(manager); manager->SetNrOfEventsToWrite(1); manager->Exec("");
AliDigitizationInput() | |
AliDigitizationInput(Int_t nInputStreams, Int_t sperb = 1) | |
virtual | ~AliDigitizationInput() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
Bool_t | ConnectInputTrees() |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
void | FinishEvent() |
void | FinishGlobal() |
TString | GetCombinationFileName() const |
Int_t | GetCopyTreesFromInput() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
Int_t | GetInputEventNumber(Int_t event, Int_t input) const |
Int_t* | GetInputEventNumbers(Int_t event) const |
TString | GetInputFileName(Int_t input, Int_t order) const |
const TString& | GetInputFolderName(Int_t i) const |
AliStream* | GetInputStream(Int_t index) const |
Int_t | GetMask(Int_t i) const |
virtual const char* | TNamed::GetName() const |
Int_t | GetNinputs() const |
Int_t | GetNParticles(Int_t event) const |
Int_t | GetNParticles(Int_t event, Int_t input) const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
TString | GetOutputDir() const |
Int_t | GetOutputEventNr() const |
TString | GetOutputFile() const |
const char* | GetOutputFolderName() |
AliRunLoader* | GetOutRunLoader() |
TParticle* | GetParticle(Int_t i, Int_t event) const |
TParticle* | GetParticle(Int_t i, Int_t input, Int_t event) const |
Bool_t | GetRegionOfInterest() const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
void | InitEvent() |
Bool_t | InitOutputGlobal() |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetCombinationFileName(TString fn) |
void | SetCopyTreesFromInput(Int_t i) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetFirstOutputEventNr(Int_t i) |
void | SetInputStream(Int_t stream, const char* inputName, TString foldername = "") |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
void | SetNrOfEventsToWrite(Int_t i) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetOutputDir(TString dn) |
void | SetOutputFile(TString fn) |
void | SetRegionOfInterest(Bool_t flag) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
AliDigitizationInput(const AliDigitizationInput& dig) | |
virtual void | Copy(TObject& dig) const |
AliDigitizationInput& | operator=(const AliDigitizationInput& dig) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
AliMergeCombi* | fCombi | pointer to the combination object |
TArrayI | fCombination | ! combination of events from |
TString | fCombinationFileName | fn with combinations (used |
Int_t | fCopyTreesFromInput | from which input file the trees |
Int_t | fEvent | output event nr. |
TClonesArray* | fInputStreams | input signal streams |
Int_t | fNinputs | nr of input streams - can be taken from the TClonesArray dimension |
Int_t | fNinputsGiven | nr of input streams given by user |
Int_t | fNrOfEventsToWrite | Nr of events to write |
Int_t | fNrOfEventsWritten | Nr of events written |
AliRunLoader* | fOutRunLoader | ! |
TString | fOutputDirName | output dir name |
TString | fOutputFileName | output file name |
Bool_t | fOutputInitialized | indicates if outout was initialized |
Bool_t | fRegionOfInterest | digitization in region of interest |
static const TString | fgkBaseInFolderName | default name for input foler |
static const TString | fgkDefOutFolderName | default name for output foler |
Int_t | fkMASK[4] | ! masks for track ids from |
Int_t | fkMASKSTEP | step to increase MASK for |
Inheritance Chart: | ||||||||
|
root requires default ctor, where no new objects can be created do not use this ctor, it is supplied only for root needs
ctor which should be used to create a manager for merging/digitization
Sets the name of the input file
The output will be to separate file, not to the signal file here should be protection to avoid setting the same file as any input
Creates the output file, called by InitEvent() Needs to be called after all inputs are opened
return number of particles in all input files for a given event (as numbered in the output file) return -1 if some file cannot be accessed
return number of particles in input file input for a given event (as numbered in this input file) return -1 if some error
return pointer to an int array with input event numbers which were merged in the output event event
return an event number of an eventInput from input file input which was merged to create output event event
return pointer to particle with index i (index with mask)
return pointer to particle with index i in the input file input (index without mask) event is the event number in the file input return 0 i fit does not exist
returns file name of the order-th file in the input stream input returns empty string if such file does not exist first input stream is 0 first file in the input stream is 0
return pointer to particle with index i (index with mask)
{ return dynamic_cast<AliStream *>(fInputStreams->At(index)) ; }