4 // Copyright(c) 2003, IceCube Experiment at the South Pole, All rights reserved.
5 // See cxx source for full Copyright notice.
12 #include "TObjString.h"
13 #include "TObjArray.h"
14 #include "TDatabasePDG.h"
17 #include "AliObjMatrix.h"
24 class IceF2k : public AliJob
27 IceF2k(const char* name="IceF2k",const char* title=""); // Constructor
28 virtual ~IceF2k(); // Destructor
29 void SetMaxEvents(Int_t n); // Set maximum number of events to be processed
30 void SetPrintFreq(Int_t f); // Set printfrequency to provide info every f events
31 void SetSplitLevel(Int_t split); // Set split level for the produced ROOT data file
32 void SetBufferSize(Int_t bsize); // Set buffersize for the produced ROO data file
33 void SetInputFile(TString name); // Set name of F2K input file (obsolete)
34 void AddInputFile(TString name); // Add name of F2K input file to the list
35 void SetOutputFile(TFile* ofile); // Set output file for the ROOT data structures
36 void SetOutputFile(TString name); // Create output file for the ROOT data structures
37 TFile* GetOutputFile(); // Provide pointer to the ROOT output file
38 TDatabasePDG* GetPDG(); // Provide pointer to the PDG database
39 AliObjMatrix* GetOMdbase(); // Provide pointer to the OM geometry, calib. etc... database
40 AliDevice* GetFitdefs(); // Provide pointer to the Fit definition parameters
41 AliDevice* GetTrigdefs(); // Provide pointer to the Fit definition parameters
42 virtual void Exec(Option_t* opt); // Perform the format conversion
45 Int_t fSplit; // The split level of the produced ROOT data file
46 Int_t fBsize; // The buffersize of the produced ROOT data file
47 Int_t fMaxevt; // The maximum number of events to be processed
48 Int_t fPrintfreq; // The event info printing frequency
49 TObjArray* fInfiles; // Names of all the F2K input files
50 TFile* fOutfile; // The ROOT output file
52 TDatabasePDG* fPdg; // Database with PDG information
53 AliObjMatrix* fOmdb; // Database of all OM devices with their geometry, calib. etc... data
54 AliDevice* fFitdefs; // Fit definitions as indicated in the header of the F2000 input file
55 AliDevice* fTrigdefs; // Trigger definitions as indicated in the header of the F2000 input file
57 void FillOMdbase(); // Fill geometry and calib. parameters of all devices
58 void SetFitdefs(); // Set the fit definitions as used in the F2000 input file
59 void SetTrigdefs(); // Set the trigger definitions as used in the F2000 input file
60 void PutMcTracks(); // Put the MC tracks from the F2000 file into the IcePack structure
61 void PutRecoTracks(); // Put the reconstructed tracks from the F2000 file into the IcePack structure
62 void PutHits(); // Put the hits and waveforms from the F2000 file into the IcePack structure
63 void PutTrigger(); // Put the trigger information from the F2000 file into the IcePack structure
65 mcfile* fInput; //! Structure holding the input file characteristics
66 array fHeader; //! Structure holding the file header info
67 mevt fEvent; //! Structure holding the actual event data (hits, tracks, etc...)
69 ClassDef(IceF2k,5) // Job for conversion of F2K data into IceEvent physics event structures.