X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=FMD%2FAliFMDInput.h;h=70f6cae90bb7908623a40b2bb7e9bf91a773856d;hb=f69eb048797ded4e8b629e31d3b927005545c42e;hp=355c26dd1776678a58d70ce6c4bc15b36762c198;hpb=08d168d90d12a22a227113571022dad3f6475c32;p=u%2Fmrichter%2FAliRoot.git diff --git a/FMD/AliFMDInput.h b/FMD/AliFMDInput.h index 355c26dd177..70f6cae90bb 100644 --- a/FMD/AliFMDInput.h +++ b/FMD/AliFMDInput.h @@ -114,8 +114,9 @@ public: kESD, // Load ESD's kRaw, // Read raw data kGeometry, // Not really a tree - kTracks, // Hits and tracs - for BG study - kTrackRefs // Track references - also for BG study + kTrackRefs, // Track references - also for BG study + kRawCalib, // Read raws and calibrate them + kUser }; /** CTOR */ AliFMDInput(); @@ -171,6 +172,10 @@ public: that track @return @c false on error */ virtual Bool_t ProcessTracks(); + /** Loop over all tracks, and call ProcessTrack with each hit for + that track + @return @c false on error */ + virtual Bool_t ProcessStack(); /** Loop over all digits, and call ProcessDigit for each digit. @return @c false on error */ virtual Bool_t ProcessDigits(); @@ -182,6 +187,10 @@ public: ProcessRawDigit for each digit. @return @c false on error */ virtual Bool_t ProcessRawDigits(); + /** Loop over all digits read from raw data files, and call + ProcessRawDigit for each digit. + @return @c false on error */ + virtual Bool_t ProcessRawCalibDigits(); /** Loop over all reconstructed points, and call ProcessRecPoint for each reconstructed point. @return @c false on error */ @@ -189,6 +198,9 @@ public: /** Loop over all ESD data, and call ProcessESD for each entry. @return @c false on error */ virtual Bool_t ProcessESDs(); + /** Loop over all strips and ask user routine to supply the data. + @return @c false on error */ + virtual Bool_t ProcessUsers(); /** Process one hit, and optionally it's corresponding kinematics track. Users should over this to process each hit. @@ -209,6 +221,11 @@ public: @param h Associated Hit @return @c false on error */ virtual Bool_t ProcessTrack(Int_t i, TParticle* p, AliFMDHit* h); + /** Process stack particle + @param i Track number + @param p Track + @return @c false on error */ + virtual Bool_t ProcessParticle(Int_t i , TParticle* p); /** Process one digit. Users should over this to process each digit. @param digit Digit @@ -224,6 +241,11 @@ public: @param digit Raw digit @return @c false on error */ virtual Bool_t ProcessRawDigit(AliFMDDigit* digit); + /** Process one digit from raw data files. Users should over this + to process each raw digit. + @param digit Raw digit + @return @c false on error */ + virtual Bool_t ProcessRawCalibDigit(AliFMDDigit* digit); /** Process one reconstructed point. Users should over this to process each reconstructed point. @param point Reconstructed point @@ -238,8 +260,18 @@ public: @param eta Psuedo-rapidity @param mult Psuedo-multiplicity @return @c false on error */ - virtual Bool_t ProcessESD(UShort_t, Char_t, UShort_t, UShort_t, - Float_t, Float_t); + virtual Bool_t ProcessESD(UShort_t d, Char_t r, UShort_t s, UShort_t t, + Float_t eta, Float_t mult); + /** Process User data for the FMD. Users should overload this to + deal with ESD data. + @param d Detector number (1-3) + @param r Ring identifier ('I' or 'O') + @param s Sector number (0-19, or 0-39) + @param t Strip number (0-511, or 0-255) + @param v Value + @return @c false on error */ + virtual Bool_t ProcessUser(UShort_t d, Char_t r, UShort_t s, UShort_t t, + Float_t v); /** Service function to make a logarithmic axis. @param n Number of bins @param min Minimum of axis @@ -291,6 +323,17 @@ protected: /** Assignement operator @return REference to this */ AliFMDInput& operator=(const AliFMDInput&) { return *this; } + /** + * Get user supplued data + * + * @param d Detector + * @param r Ring + * @param s Sector + * @param t Strip + * + * @return Value + */ + virtual Float_t GetSignal(UShort_t d, Char_t r, UShort_t s, UShort_t t); TString fGAliceFile; // File name of gAlice file AliRunLoader* fLoader; // Loader of FMD data @@ -327,15 +370,22 @@ protected: }; inline Bool_t AliFMDInput::ProcessHit(AliFMDHit*,TParticle*) { return kTRUE; } -inline Bool_t AliFMDInput::ProcessTrackRef(AliTrackReference* trackRef, TParticle* track) { return kTRUE; } +inline Bool_t AliFMDInput::ProcessTrackRef(AliTrackReference*, + TParticle*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessTrack(Int_t,TParticle*, AliFMDHit*) { return kTRUE; } +inline Bool_t AliFMDInput::ProcessParticle(Int_t,TParticle*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessDigit(AliFMDDigit*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessSDigit(AliFMDSDigit*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessRawDigit(AliFMDDigit*) { return kTRUE; } +inline Bool_t AliFMDInput::ProcessRawCalibDigit(AliFMDDigit*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessRecPoint(AliFMDRecPoint*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessESD(UShort_t,Char_t,UShort_t,UShort_t, Float_t,Float_t) { return kTRUE; } +inline Bool_t AliFMDInput::ProcessUser(UShort_t,Char_t,UShort_t,UShort_t, + Float_t) { return kTRUE; } +inline Float_t AliFMDInput::GetSignal(UShort_t, Char_t, UShort_t, UShort_t) { + return 0.; } #endif