1 #ifndef ALINORMALIZATIONCOUNTER_H
2 #define ALINORMALIZATIONCOUNTER_H
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
21 //*************************************************************************
22 // Class AliNormalizationCounter
23 // Class to store the informations relevant for the normalization in the
24 // barrel for each run
25 // Authors: G. Ortona, ortona@to.infn.it
26 // D. Caffarri, davide.caffarri@pd.to.infn.it
27 // with many thanks to P. Pillot
28 /////////////////////////////////////////////////////////////
36 #include <AliESDEvent.h>
37 #include <AliESDtrack.h>
38 #include <AliAODTrack.h>
39 #include <AliAODEvent.h>
40 #include <AliVParticle.h>
41 #include "AliAnalysisTaskSE.h"
42 #include "AliCounterCollection.h"
43 #include "AliAnalysisDataSlot.h"
44 #include "AliAnalysisDataContainer.h"
45 #include "AliRDHFCuts.h"
46 //#include "AliAnalysisVertexingHF.h"
48 class AliNormalizationCounter : public TNamed
52 AliNormalizationCounter();
53 AliNormalizationCounter(const char *name);
54 virtual ~AliNormalizationCounter();
55 Long64_t Merge(TCollection* list);
57 AliCounterCollection* GetCounter(){return &fCounters;}
58 void Add(const AliNormalizationCounter*);
59 void SetESD(Bool_t flag){fESD=flag;}
60 void StoreEvent(AliVEvent*,AliRDHFCuts *,Bool_t mc=kFALSE);
61 void StoreCandidates(AliVEvent*, Int_t nCand=0,Bool_t flagFilter=kTRUE);
62 TH1D* DrawAgainstRuns(TString candle="candid(filter)",Bool_t drawHist=kTRUE);
63 TH1D* DrawRatio(TString candle1="candid(filter)",TString candle2="triggered");
65 Double_t GetSum(TString candle="triggered");
66 TH2F* GetHist(Bool_t filtercuts=kTRUE,Bool_t spdtracklets=kTRUE,Bool_t drawHist=kFALSE);
67 Double_t GetNEventsForNorm();
68 Double_t GetNEventsForNorm(Int_t runnumber);
69 TH1D* DrawNEventsForNorm(Bool_t drawRatio=kFALSE);
72 AliNormalizationCounter(const AliNormalizationCounter &source);
73 AliNormalizationCounter& operator=(const AliNormalizationCounter& source);
74 AliCounterCollection fCounters; //internal counter
75 Bool_t fESD; //flag for ESD vs AOD
76 TH2F *fHistTrackFilterEvMult; //hist to store no of filter candidates vs no of tracks in the event
77 TH2F *fHistTrackAnaEvMult;//hist to store no of analysis candidates vs no of tracks in the event
78 TH2F *fHistTrackFilterSpdMult; //hist to store no of filter candidates vs SPD multiplicity
79 TH2F *fHistTrackAnaSpdMult;//hist to store no of analysis candidates vs SPD multiplicity
81 ClassDef(AliNormalizationCounter,4);