08-mar-2006 NvE Time offset correction in IceF2k extended to allow also a user define...
[u/mrichter/AliRoot.git] / RALICE / icepack / iceconvert / IceF2k.h
CommitLineData
f67e2651 1#ifndef IceF2k_h
2#define IceF2k_h
3
4// Copyright(c) 2003, IceCube Experiment at the South Pole, All rights reserved.
5// See cxx source for full Copyright notice.
6
7// $Id$
8
f67e2651 9#include "TFile.h"
5481c137 10#include "TTree.h"
f67e2651 11#include "TString.h"
88b8d522 12#include "TObjString.h"
13#include "TObjArray.h"
5481c137 14#include "TDatabasePDG.h"
f67e2651 15
5481c137 16#include "AliJob.h"
f67e2651 17#include "AliObjMatrix.h"
18
19#include "IceAOM.h"
20#include "IceEvent.h"
21
22#include "rdmc.h"
23
5481c137 24class IceF2k : public AliJob
f67e2651 25{
26 public :
5481c137 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
88b8d522 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
f5b75967 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
97a09735 37 void SetMcToffset(Float_t toffset); // Set user defined time offset for MC data
f5b75967 38 TFile* GetOutputFile(); // Provide pointer to the ROOT output file
5481c137 39 TDatabasePDG* GetPDG(); // Provide pointer to the PDG database
40 AliObjMatrix* GetOMdbase(); // Provide pointer to the OM geometry, calib. etc... database
41 AliDevice* GetFitdefs(); // Provide pointer to the Fit definition parameters
69884331 42 AliDevice* GetTrigdefs(); // Provide pointer to the Fit definition parameters
5481c137 43 virtual void Exec(Option_t* opt); // Perform the format conversion
f67e2651 44
45 protected :
88b8d522 46 Int_t fSplit; // The split level of the produced ROOT data file
47 Int_t fBsize; // The buffersize of the produced ROOT data file
48 Int_t fMaxevt; // The maximum number of events to be processed
49 Int_t fPrintfreq; // The event info printing frequency
50 TObjArray* fInfiles; // Names of all the F2K input files
51 TFile* fOutfile; // The ROOT output file
f67e2651 52
69884331 53 TDatabasePDG* fPdg; // Database with PDG information
54 AliObjMatrix* fOmdb; // Database of all OM devices with their geometry, calib. etc... data
55 AliDevice* fFitdefs; // Fit definitions as indicated in the header of the F2000 input file
56 AliDevice* fTrigdefs; // Trigger definitions as indicated in the header of the F2000 input file
97a09735 57 Float_t fToffset; // Trigger time offset which might have been introduced during filtering
58 Float_t fMctoffset; // Trigger time offset which might have been introduced during MC generation
f67e2651 59
5481c137 60 void FillOMdbase(); // Fill geometry and calib. parameters of all devices
61 void SetFitdefs(); // Set the fit definitions as used in the F2000 input file
69884331 62 void SetTrigdefs(); // Set the trigger definitions as used in the F2000 input file
5481c137 63 void PutMcTracks(); // Put the MC tracks from the F2000 file into the IcePack structure
64 void PutRecoTracks(); // Put the reconstructed tracks from the F2000 file into the IcePack structure
65 void PutHits(); // Put the hits and waveforms from the F2000 file into the IcePack structure
69884331 66 void PutTrigger(); // Put the trigger information from the F2000 file into the IcePack structure
f67e2651 67
68 mcfile* fInput; //! Structure holding the input file characteristics
69 array fHeader; //! Structure holding the file header info
70 mevt fEvent; //! Structure holding the actual event data (hits, tracks, etc...)
71
97a09735 72 ClassDef(IceF2k,6) // Job for conversion of F2K data into IceEvent physics event structures.
f67e2651 73};
74#endif