Flexible pt range for the efficiency histogramming
[u/mrichter/AliRoot.git] / MUON / AliMUONVSubprocessor.cxx
CommitLineData
ea199e33 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
6a69d972 18#include "TObjArray.h"
19#include "AliDCSValue.h"
ea199e33 20#include "AliMUONVSubprocessor.h"
21
3d1463c8 22//-----------------------------------------------------------------------------
ea199e33 23/// \class AliMUONVSubprocessor
24///
25/// Base class for a shuttle sub-task for MUON (either TRK or TRG)
26///
27/// It allows to organize more cleanly the various calibration tasks
28/// to be performed within the MUON shuttle's preprocessors
29///
30/// \author Laurent Aphecetche
3d1463c8 31//-----------------------------------------------------------------------------
ea199e33 32
33/// \cond CLASSIMP
34ClassImp(AliMUONVSubprocessor)
35/// \endcond
36
37//_____________________________________________________________________________
38AliMUONVSubprocessor::AliMUONVSubprocessor(AliMUONPreprocessor* master,
39 const char* name,
40 const char* title)
6a69d972 41 : TNamed(name,title), fMaster(master),
42 fStartTime(0),
43 fEndTime(0)
ea199e33 44{
45 /// ctor
46}
47
48//_____________________________________________________________________________
49AliMUONVSubprocessor::~AliMUONVSubprocessor()
50{
51 /// dtor
52}
53
54//_____________________________________________________________________________
6c870207 55Bool_t
ea199e33 56AliMUONVSubprocessor::Initialize(Int_t /*run*/,
6a69d972 57 UInt_t startTime,
58 UInt_t endTime)
ea199e33 59{
60 /// optional
6c870207 61 fStartTime = startTime; // time_created
62 fEndTime = endTime; // time_completed
63 return kTRUE;
6a69d972 64}
65
66//_____________________________________________________________________________
67Bool_t
68AliMUONVSubprocessor::RemoveValuesOutsideRun(TObjArray* values)
69{
70 /// Remove values outside run time limits
71
72 TIter next(values);
73 AliDCSValue* val = 0x0;
74
75 Bool_t removedValues = kFALSE;
76
77 while ( ( val = static_cast<AliDCSValue*>(next()) ) )
78 {
79 if ( val->GetTimeStamp() < fStartTime || val->GetTimeStamp() > fEndTime ) {
80 values->Remove(val);
81 removedValues = kTRUE;
82 }
83 }
84 values->Compress();
85
86 return removedValues;
ea199e33 87}
88