16 #include <TObjArray.h>
19 #include "AliGenPythiaEventHeader.h"
21 #include "AliMCEvent.h"
25 ClassImp(EMCalTriggerPtAnalysis::AliEMCalTriggerPtHardWeight)
28 namespace EMCalTriggerPtAnalysis {
30 AliEMCalTriggerWeightHandler::AliEMCalTriggerWeightHandler() :
34 fUseCrossSection(kFALSE)
45 fUseCrossSection(ref.fUseCrossSection)
61 TObject::operator=(ref);
90 for(TIter biniter = TIter(
fBinWeights).Begin(); biniter != TIter::End(); ++biniter){
92 if(ptmin == tmp->GetPtMin() && ptmax == tmp->GetPtMax()){
105 const AliGenPythiaEventHeader *header =
dynamic_cast<const AliGenPythiaEventHeader *
>(
event->GenEventHeader());
107 AliError(
"Event not a pythia event - returning 1");
125 weight = header->GetXsection()/
static_cast<double>(header->Trials());
135 for(TIter biniter = TIter(
fBinWeights).Begin(); biniter != TIter::End(); ++biniter){
137 if(tmp->IsSelected(pthard)){
AliEMCalTriggerWeightHandler()
const AliEMCalTriggerPtHardWeight * FindWeight(Double_t pthard) const
virtual ~AliEMCalTriggerWeightHandler()
void SetWeightForBin(double ptmin, double ptmax, double weight)
void SetWeight(double weight)
Double_t GetWeight() const
bool fUseCrossSection
Calculate weight using pt-hard.
double GetEventWeight(const AliMCEvent *const event) const
TObjArray * fBinWeights
Container for weights in a given pt-hard bin.
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
const TF1 * fWeightModel
Weight model.
AliEMCalTriggerWeightHandler & operator=(const AliEMCalTriggerWeightHandler &ref)