/* $Id$ */
+//////////////////////////////////////////////////////////////////////
+// // //
+// Generator of spectator nucleons (either protons or neutrons)//
+// computes beam crossing and divergence and Fermi momentum //
+// //
+/////////////////////////////////////////////////////////////////////
+
#include <assert.h>
#include <TDatabasePDG.h>
//_____________________________________________________________________________
void AliGenZDC::Init()
{
+ //Initialize Fermi momentum distributions for Pb-Pb
+ //
printf("\n\n AliGenZDC initialization:\n");
printf(" Particle: %d, Track cosines: x = %f, y = %f, z = %f \n",
fIpart,fCosx,fCosy,fCosz);
"= %f, Crossing plane = %d\n\n", fFermiflag, fBeamDiv, fBeamCrossAngle,
fBeamCrossPlane);
- //Initialize Fermi momentum distributions for Pb-Pb
FermiTwoGaussian(207.,fPp,fProbintp,fProbintn);
}
//
Int_t i;
- Double_t Mass, pLab[3], fP0, fP[3], fBoostP[3], ddp[3], dddp0, dddp[3];
+ Double_t mass, pLab[3], fP0, fP[3], fBoostP[3], ddp[3], dddp0, dddp[3];
Float_t fPTrack[3], ptot = fPMin;
Int_t nt;
if(fFermiflag==1){
if((fIpart==kProton) || (fIpart==kNeutron))
ExtractFermi(fIpart,fPp,fProbintp,fProbintn,ddp);
- Mass=gAlice->PDGDB()->GetParticle(fIpart)->Mass();
- fP0 = TMath::Sqrt(fP[0]*fP[0]+fP[1]*fP[1]+fP[2]*fP[2]+Mass*Mass);
+ mass=gAlice->PDGDB()->GetParticle(fIpart)->Mass();
+ fP0 = TMath::Sqrt(fP[0]*fP[0]+fP[1]*fP[1]+fP[2]*fP[2]+mass*mass);
for(i=0; i<=2; i++) dddp[i] = ddp[i];
- dddp0 = TMath::Sqrt(dddp[0]*dddp[0]+dddp[1]*dddp[1]+dddp[2]*dddp[2]+Mass*Mass);
+ dddp0 = TMath::Sqrt(dddp[0]*dddp[0]+dddp[1]*dddp[1]+dddp[2]*dddp[2]+mass*mass);
TVector3 b(fP[0]/fP0, fP[1]/fP0, fP[2]/fP0);
TLorentzVector pFermi(dddp[0], dddp[1], dddp[2], dddp0);
void AliGenZDC::BeamDivCross(Int_t icross, Float_t fBeamDiv, Float_t fBeamCrossAngle,
Int_t fBeamCrossPlane, Double_t *pLab)
{
+ // Applying beam divergence and crossing angle
+ //
Double_t tetpart, fipart, tetdiv=0, fidiv=0, angleSum[2], tetsum, fisum;
Double_t rvec;
//_____________________________________________________________________________
void AliGenZDC::AddAngle(Double_t theta1, Double_t phi1, Double_t theta2,
Double_t phi2, Double_t *angleSum)
-{
+{
+ // Calculating the sum of 2 angles
Double_t temp, conv, cx, cy, cz, ct1, st1, ct2, st2, cp1, sp1, cp2, sp2;
Double_t rtetsum, tetsum, fisum;
void SetDebug(Int_t idebu) {fDebugOpt = idebu;};
// Getters
- Double_t GetFermi2p(Int_t key) {return fProbintp[key];}
- Double_t GetFermi2n(Int_t key) {return fProbintn[key];}
+ const Double_t GetFermi2p(Int_t key) {return fProbintp[key];}
+ const Double_t GetFermi2n(Int_t key) {return fProbintn[key];}
protected:
Int_t fIpart; // Particle to be generated
// (=1 -> horizontal, =2 -> vertical plane)
Double_t fProbintp[201]; // Protons momentum distribution due to Fermi
Double_t fProbintn[201]; // Neutrons momentum distribution due to Fermi
- Double_t fPp[201]; //
+ Double_t fPp[201]; // Spectator momenta
Int_t fDebugOpt; // Option for debugging [0->No debug, 1->Screen
// prints, 2->ASCII data file]
ClassImp(AliZDC)
-AliZDC *gZDC;
+AliZDC *gAliZDC;
//_____________________________________________________________________________
AliZDC::AliZDC()
fCalibData = 0;
- gZDC=this;
+ gAliZDC=this;
}
//____________________________________________________________________________
//
fIshunt = 0;
- gZDC=0;
+ gAliZDC=0;
delete fCalibData;
// preliminary format: 12 interger values (ZNC, ZNQ1-4, ZPC, ZPQ1-4, ZEM1,2)
// For the CAEN module V965 we have an header, the Data Words and an End Of Block
- const int NADCData1=24, NADCData2=20;
+ const int knADCData1=24, knADCData2=20;
UInt_t lADCHeader1;
- UInt_t lADCData1[NADCData1];
+ UInt_t lADCData1[knADCData1];
//
UInt_t lADCHeader2;
- UInt_t lADCData2[NADCData2];
+ UInt_t lADCData2[knADCData2];
//
UInt_t lADCEndBlock;
// ADC header
UInt_t lADCHeaderGEO = 0;
UInt_t lADCHeaderCRATE = 0;
- UInt_t lADCHeaderCNT1 = NADCData1;
- UInt_t lADCHeaderCNT2 = NADCData2;
+ UInt_t lADCHeaderCNT1 = knADCData1;
+ UInt_t lADCHeaderCNT2 = knADCData2;
lADCHeader1 = lADCHeaderGEO << 27 | 0x1 << 25 | lADCHeaderCRATE << 16 |
lADCHeaderCNT1 << 8 ;
// ADC data word
UInt_t lADCDataGEO = lADCHeaderGEO;
- UInt_t lADCDataValue1[NADCData1];
- UInt_t lADCDataValue2[NADCData2];
- UInt_t lADCDataOvFlw1[NADCData1];
- UInt_t lADCDataOvFlw2[NADCData2];
- for(Int_t i = 0; i<NADCData1 ; i++){
+ UInt_t lADCDataValue1[knADCData1];
+ UInt_t lADCDataValue2[knADCData2];
+ UInt_t lADCDataOvFlw1[knADCData1];
+ UInt_t lADCDataOvFlw2[knADCData2];
+ for(Int_t i = 0; i<knADCData1 ; i++){
lADCDataValue1[i] = 0;
lADCDataOvFlw1[i] = 0;
}
- for(Int_t i = 0; i<NADCData2 ; i++){
+ for(Int_t i = 0; i<knADCData2 ; i++){
lADCDataValue2[i] = 0;
lADCDataOvFlw2[i] = 0;
}
protected:
- Int_t fNoShower; // Flag to switch off the shower
+ Int_t fNoShower; // Flag to switch off the shower
//Calibration data member
AliZDCCalibData* fCalibData; // Calibration data for ZDC
//________________________________________________________________
AliZDCCalibData::AliZDCCalibData(const char* name)
{
+ // Constructor
TString namst = "Calib_";
namst += name;
SetName(namst.Data());
//________________________________________________________________
void AliZDCCalibData::Reset()
{
+ // Reset
memset(fMeanPedestal,0,47*sizeof(Float_t));
memset(fMeanPedWidth,0,47*sizeof(Float_t));
memset(fOOTPedestal,0,44*sizeof(Float_t));
//________________________________________________________________
void AliZDCCalibData::Print(Option_t *) const
{
+ // Printing of calibration object
printf("\n ####### Mean pedestal values ####### \n");
for(int t=0; t<47; t++){
if(t==0 || t==24) printf("\n\t -------- ZN HighRes -------- \n");
void AliZDCCalibData:: SetPedCorrCoeff(Float_t* PedCorrCoeff0,
Float_t* PedCorrCoeff1)
{
+ // Set coefficients for pedestal correlations
if(PedCorrCoeff0 && PedCorrCoeff1) for(int t=0; t<44; t++){
fPedCorrCoeff[0][t] = PedCorrCoeff0[t];
fPedCorrCoeff[1][t] = PedCorrCoeff1[t];
#include "TNamed.h"
#include "TH1.h"
-#include "AliZDC.h"
#include "AliCDBEntry.h"
+class AliZDC;
+
class AliZDCCalibData: public TNamed {
public:
* provided "as is" without express or implied warranty. *
**************************************************************************/
-//_________________________________________________________________________
+//**********************************************************************
//
+// Class for ZDC digit
+// ADC Channels for each PM
+// 5 for hadronic ZDCs 1 for EM ZDCs
//
-// ZDC digit = ADC Channels for each PM
-//
-//_________________________________________________________________________
+//**********************************************************************
#include "AliZDCDigit.h"
fADCValue[1] = digit.fADCValue[1];
}
+
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-//_________________________________________________________________________
+//**********************************************************************
//
+// Class for ZDC digit
+// ADC Channels for each PM
+// 5 for hadronic ZDCs 1 for EM ZDCs
//
-// ZDC digit = ADC Channels for each PM
-//
-//_________________________________________________________________________
+//**********************************************************************
#include<TObject.h>
virtual ~AliZDCDigit() {}
// Getters
- virtual Int_t GetSector(Int_t i) {return fSector[i];}
- virtual Int_t GetADCValue(Int_t i) {return fADCValue[i];}
+ const Int_t GetSector(Int_t i) {return fSector[i];}
+ const Int_t GetADCValue(Int_t i) {return fADCValue[i];}
// Operators
- Int_t operator == (AliZDCDigit &digit) {
- // Two digits are equal if they refers to the detector
- // in the same sub-volume (same procedure as for hits)
+ // Two digits are equal if they refers to the detector
+ // in the same sub-volume (same procedure as for hits)
+ const Int_t operator == (AliZDCDigit &digit) {
Int_t i;
for(i=0; i<2; i++) if(fSector[i]!=digit.GetSector(i)) return 0;
return 1;
}
+ // Adds the amplitude of digits
virtual AliZDCDigit& operator + (AliZDCDigit &digit) {
- // Adds the amplitude of digits
- for(Int_t i = 0; i < 2; i++){
- fADCValue[i] += digit.fADCValue[i] ;
- }
+ for(Int_t i = 0; i < 2; i++) fADCValue[i] += digit.fADCValue[i];
return *this ;
}
#include "AliRunDigitizer.h"
#include "AliRunLoader.h"
#include "AliCDBManager.h"
-#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliZDCSDigit.h"
#include "AliZDCDigit.h"
#include "AliZDCFragment.h"
#include "AliZDCDigitizer.h"
-#include "AliZDCCalibData.h"
+
+class AliCDBStorage;
+class AliZDCCalibData;
ClassImp(AliZDCDigitizer)
SpectatorSignal(2, freeSpecP, pm);
}
+
// get the output run loader and loader
AliRunLoader* runLoader =
AliRunLoader::GetRunLoader(fManager->GetOutputFolderName());
Int_t Res) const
{
// Evaluation of the ADC channel corresponding to the light yield Light
- Int_t ADCch = (Int_t) (Light * fPMGain[Det-1][Quad] * fADCRes[Res]);
+ Int_t vADCch = (Int_t) (Light * fPMGain[Det-1][Quad] * fADCRes[Res]);
//printf("\t Phe2ADCch -> det %d quad %d - phe %.0f ADC %d\n", Det,Quad,Light,ADCch);
- return ADCch;
+ return vADCch;
}
//_____________________________________________________________________________
Int_t AliZDCDigitizer::Pedestal(Int_t Det, Int_t Quad, Int_t Res) const
{
-
+ // Returns a pedestal for detector det, PM quad, channel with res.
+ //
Float_t meanPed;
if(Det != 3) meanPed = fCalibData->GetMeanPed(10*(Det-1)+Quad+5*Res);
else meanPed = fCalibData->GetMeanPed(10*(Det-1)+Quad+1*Res);
//_____________________________________________________________________________
AliZDCCalibData* AliZDCDigitizer::GetCalibData() const
{
-
+ // returns pointer to AliZDCCalibData object
+ //
AliCDBEntry *entry = fStorage->Get("ZDC/Calib/Data",0);
AliZDCCalibData *calibdata = (AliZDCCalibData*) entry->GetObject();
* provided "as is" without express or implied warranty. *
**************************************************************************/
+
+// ******************************************************************
+//
+// Class for nuclear fragments formation
+//
+// ******************************************************************
+
// --- Standard libraries
#include <stdlib.h>
}
//_____________________________________________________________________________
-Float_t AliZDCFragment::DeuteronFraction()
+const Float_t AliZDCFragment::DeuteronFraction()
{
- Float_t DeuteronProdPar[2] = {1.068,0.0385};
- Float_t DeutFrac = DeuteronProdPar[0]-DeuteronProdPar[1]*fB;
- if(DeutFrac>1.) DeutFrac=1.;
- return DeutFrac;
+ // Calculates the fraction of deuterum nucleus produced
+ //
+ Float_t deuteronProdPar[2] = {1.068,0.0385};
+ Float_t deutFrac = deuteronProdPar[0]-deuteronProdPar[1]*fB;
+ if(deutFrac>1.) deutFrac=1.;
+ return deutFrac;
}
virtual ~AliZDCFragment() {}
void GenerateIMF(Int_t* fZZ, Int_t &fNalpha);
void AttachNeutrons(Int_t* fZZ, Int_t* fNN, Int_t &Ztot, Int_t &Ntot);
- Float_t DeuteronFraction();
+ const Float_t DeuteronFraction();
// Setting parameters
virtual void SetImpactParameter(Float_t b) {fB=b;};
// Getting parameters
- Int_t GetFragmentNum() {return fNimf;};
+ const Int_t GetFragmentNum() {return fNimf;};
protected:
/* $Id$ */
+// **************************************************************
//
-////////////////////////////////////////////////
-// Hits classes for set ZDC //
-////////////////////////////////////////////////
+// Hits classes for ZDC
//
+// **************************************************************
#include "AliZDCHit.h"
fEnergy = hits[9];
}
+
+//_____________________________________________________________________________
+void AliZDCHit::Print(Option_t *) const
+{
+ // Print method
+ printf(" -> HIT: vol[0] = %d vol[1] = %d Track: %d \n"
+ " Primary E = %f, Ximpact = %f, Yimpact = %f, SFlag = %f\n"
+ " PMQLight = %f, PMCLight = %f, Deposited E = %f\n ",
+ fVolume[0],fVolume[1],fTrack,fPrimKinEn,fXImpact,fYImpact,
+ fSFlag,fLightPMQ,fLightPMC,fEnergy);
+}
virtual void SetYImpact(Float_t value) {fYImpact=value;}
// Operators
- Int_t operator == (AliZDCHit &quad) {
+ const Int_t operator == (AliZDCHit &quad) {
Int_t i;
if(fTrack!=quad.GetTrack()) return 0;
for(i=0; i<2; i++) if(fVolume[i]!=quad.GetVolume(i)) return 0;
}
// Print method
- virtual void Print(Option_t *) const {
- printf(" -> HIT: vol[0] = %d vol[1] = %d Track: %d \n"
- " Primary E = %f, Ximpact = %f, Yimpact = %f, SFlag = %f\n"
- " PMQLight = %f, PMCLight = %f, Deposited E = %f\n ",
- fVolume[0],fVolume[1],fTrack,fPrimKinEn,fXImpact,fYImpact,
- fSFlag,fLightPMQ,fLightPMC,fEnergy);
- }
+ void Print(Option_t *) const;
protected:
// Data members
fADCValue = (fRawADC & 0xfff);
fIsADCDataWord = kTRUE;
- Int_t ADCChannel = (fRawADC & 0x1e0000) >> 17;
- if (ADCChannel >= 0 && ADCChannel <= 4) {
+ Int_t vADCChannel = (fRawADC & 0x1e0000) >> 17;
+ if (vADCChannel >= 0 && vADCChannel <= 4) {
fSector[0] = 1;
- fSector[1] = ADCChannel;
- } else if (ADCChannel >= 8 && ADCChannel <= 12) {
+ fSector[1] = vADCChannel;
+ } else if (vADCChannel >= 8 && vADCChannel <= 12) {
fSector[0] = 2;
- fSector[1] = ADCChannel-8;
- } else if (ADCChannel == 5 || ADCChannel == 13){
+ fSector[1] = vADCChannel-8;
+ } else if (vADCChannel == 5 || vADCChannel == 13){
fSector[0] = 3;
- fSector[1] = (ADCChannel-5)/8;
+ fSector[1] = (vADCChannel-5)/8;
}
}
return kTRUE;
* provided "as is" without express or implied warranty. *
**************************************************************************/
+// ****************************************************************
+//
+// Trigger class for ZDC
+//
+// ****************************************************************
+
#include "AliLog.h"
#include "AliRun.h"
#include "AliLoader.h"
//________________________________________________________________
AliZDCTrigger::AliZDCTrigger() : AliTriggerDetector()
-{
+{
+ // Constructor
SetName("ZDC");
CreateInputs();
//
- SetZNMinCut(0);
SetZDCLeftMinCut(0);
SetZDCRightMinCut(0);
SetZEMMinCut(0);
//________________________________________________________________
void AliZDCTrigger::CreateInputs()
{
- // inputs
+ // Trigger inputs
// Do not create inputs again!!
if( fInputs.GetEntriesFast() > 0 ) return;
void AliZDCTrigger::Trigger()
{
-
+ // Trigger selection
+ //
AliRunLoader *runLoader = gAlice->GetRunLoader();
- AliLoader *ZDCLoader = runLoader->GetLoader("ZDCLoader");
- ZDCLoader->LoadDigits("READ");
+ AliLoader *aZDCLoader = runLoader->GetLoader("ZDCLoader");
+ aZDCLoader->LoadDigits("READ");
AliZDCDigit digit;
AliZDCDigit* pdigit = &digit;
- TTree* TD = ZDCLoader->TreeD();
- if (!TD) cerr<<"AliZDCTrigger: digits tree not found\n";
- TD->SetBranchAddress("ZDC", &pdigit);
+ TTree* tD = aZDCLoader->TreeD();
+ if (!tD) cerr<<"AliZDCTrigger: digits tree not found\n";
+ tD->SetBranchAddress("ZDC", &pdigit);
//
- Float_t ZNLeftSignal[2], ZPLeftSignal[2], ZDCLeftSumSignal[2];
- Float_t ZNRightSignal[2], ZPRightSignal[2], ZDCRightSumSignal[2];
- Float_t ZEMSumSignal[2];
- for(Int_t iDigit=0; iDigit<TD->GetEntries(); iDigit++){
- TD->GetEntry(iDigit);
+ Float_t signalZNLeft[2], signalZPLeft[2], signalZDCLeftSum[2];
+ Float_t signalZNRight[2], signalZPRight[2], signalZDCRightSum[2];
+ Float_t signalZEMSum[2];
+ for(Int_t iDigit=0; iDigit<tD->GetEntries(); iDigit++){
+ tD->GetEntry(iDigit);
//
// *** ZDC LEFT
if(digit.GetSector(0)==1)
for(Int_t i=0; i<2; i++){ //0=high range; 1=low range
- ZNLeftSignal[i] += digit.GetADCValue(i);
- ZDCLeftSumSignal[i] += digit.GetADCValue(i);
+ signalZNLeft[i] += digit.GetADCValue(i);
+ signalZDCLeftSum[i] += digit.GetADCValue(i);
}
else if(digit.GetSector(0)==2)
for(Int_t i=0; i<2; i++){
- ZPLeftSignal[i] += digit.GetADCValue(i);
- ZDCLeftSumSignal[i] += digit.GetADCValue(i);
+ signalZPLeft[i] += digit.GetADCValue(i);
+ signalZDCLeftSum[i] += digit.GetADCValue(i);
}
else if(digit.GetSector(0)==3)
- for(Int_t i=0; i<2; i++) ZEMSumSignal[i] += digit.GetADCValue(i);
+ for(Int_t i=0; i<2; i++) signalZEMSum[i] += digit.GetADCValue(i);
// *** ZDC RIGHT
else if(digit.GetSector(0)==4)
for(Int_t i=0; i<2; i++){ //0=high range; 1=low range
- ZNRightSignal[i] += digit.GetADCValue(i);
- ZDCRightSumSignal[i] += digit.GetADCValue(i);
+ signalZNRight[i] += digit.GetADCValue(i);
+ signalZDCRightSum[i] += digit.GetADCValue(i);
}
else if(digit.GetSector(0)==5)
for(Int_t i=0; i<2; i++){
- ZPRightSignal[i] += digit.GetADCValue(i);
- ZDCRightSumSignal[i] += digit.GetADCValue(i);
+ signalZPRight[i] += digit.GetADCValue(i);
+ signalZDCRightSum[i] += digit.GetADCValue(i);
}
}
// *******************************************************************
- if(ZNLeftSignal[0]>fZDCLeftEMDCuts[0] && ZNLeftSignal[0]<fZDCLeftEMDCuts[1] &&
- ZNRightSignal[0]>fZDCRightEMDCuts[0] && ZNRightSignal[0]<fZDCRightEMDCuts[1] &&
- ZEMSumSignal[1]<fZEMMinCut){ // *** 1n EMD trigger
+ if(signalZNLeft[0]>fZDCLeftEMDCuts[0] && signalZNLeft[0]<fZDCLeftEMDCuts[1] &&
+ signalZNRight[0]>fZDCRightEMDCuts[0] && signalZNRight[0]<fZDCRightEMDCuts[1] &&
+ signalZEMSum[1]<fZEMMinCut){ // *** 1n EMD trigger
SetInput("ZDC_EMD_L1");
}
// *******************************************************************
- if(ZDCLeftSumSignal[1]>fZDCLeftMBCut && ZDCRightSumSignal[1]>fZDCRightMBCut)
+ if(signalZDCLeftSum[1]>fZDCLeftMBCut && signalZDCRightSum[1]>fZDCRightMBCut)
// *** ZDC minimum bias trigger
SetInput("ZDC_1_L1");
// *******************************************************************
- if(ZDCLeftSumSignal[1]>fZDCLeftMinCut && ZDCLeftSumSignal[1]<fZDCLeftCentrCut &&
- ZDCRightSumSignal[1]>fZDCRightMinCut && ZDCRightSumSignal[1]<fZDCRightCentrCut &&
- ZEMSumSignal[1]>fZEMCentrCut)
+ if(signalZDCLeftSum[1]>fZDCLeftMinCut && signalZDCLeftSum[1]<fZDCLeftCentrCut &&
+ signalZDCRightSum[1]>fZDCRightMinCut && signalZDCRightSum[1]<fZDCRightCentrCut &&
+ signalZEMSum[1]>fZEMCentrCut)
// *** ZDC central (0-10%)
SetInput("ZDC_2_L1");
// *******************************************************************
- if(ZDCLeftSumSignal[1]>fZDCLeftCentrCut && ZDCLeftSumSignal[1]<fZDCLeftSemiCentrCut &&
- ZDCRightSumSignal[1]>fZDCRightCentrCut && ZDCRightSumSignal[1]<fZDCRightSemiCentrCut
- && ZEMSumSignal[1]>fZEMCentrCut)
+ if(signalZDCLeftSum[1]>fZDCLeftCentrCut && signalZDCLeftSum[1]<fZDCLeftSemiCentrCut &&
+ signalZDCRightSum[1]>fZDCRightCentrCut && signalZDCRightSum[1]<fZDCRightSemiCentrCut
+ && signalZEMSum[1]>fZEMCentrCut)
// *** ZDC semi-central (10-40%)
SetInput("ZDC_3_L1");
}
-//________________________________________________________________
-void AliZDCTrigger::SetZNMinCut(Float_t ZNMinCut)
-{
- if(ZNMinCut) fZNMinCut = ZNMinCut;
- else fZNMinCut = 400.;
-}
-
//________________________________________________________________
void AliZDCTrigger::SetZDCLeftMinCut(Float_t ZDCLeftMinCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCLeftMinCut) fZDCLeftMinCut = ZDCLeftMinCut;
else fZDCLeftMinCut = 800.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCRightMinCut(Float_t ZDCRightMinCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCRightMinCut) fZDCRightMinCut = ZDCRightMinCut;
else fZDCRightMinCut = 800.;
}
//________________________________________________________________
void AliZDCTrigger::SetZEMMinCut(Float_t ZEMMinCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZEMMinCut) fZEMMinCut = ZEMMinCut;
else fZEMMinCut = 80.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCLeftEMDCuts(Float_t* ZDCLeftEMDCuts)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCLeftEMDCuts) for(int j=0; j<2; j++) fZDCLeftEMDCuts[j] = ZDCLeftEMDCuts[j];
else{
fZDCLeftEMDCuts[0] = 600.;
void AliZDCTrigger::SetZDCLeftEMDCuts(Float_t ZDCLeftEMDCutInf,
Float_t ZDCLeftEMDCutSup)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCLeftEMDCutInf && ZDCLeftEMDCutSup){
fZDCLeftEMDCuts[0]=ZDCLeftEMDCutInf;
fZDCLeftEMDCuts[1]=ZDCLeftEMDCutSup;
//________________________________________________________________
void AliZDCTrigger::SetZDCRightEMDCuts(Float_t* ZDCRightEMDCuts)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCRightEMDCuts) for(int j=0; j<2; j++) fZDCRightEMDCuts[j] = ZDCRightEMDCuts[j];
else{
fZDCRightEMDCuts[0] = 600.;
void AliZDCTrigger::SetZDCRightEMDCuts(Float_t ZDCRightEMDCutInf,
Float_t ZDCRightEMDCutSup)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCRightEMDCutInf && ZDCRightEMDCutSup){
fZDCRightEMDCuts[0]=ZDCRightEMDCutInf;
fZDCRightEMDCuts[1]=ZDCRightEMDCutSup;
//________________________________________________________________
void AliZDCTrigger::SetZDCLeftMBCut(Float_t ZDCLeftMBCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCLeftMBCut) fZDCLeftMBCut = ZDCLeftMBCut;
else fZDCLeftMBCut = 800.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCRightMBCut(Float_t ZDCRightMBCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCRightMBCut) fZDCRightMBCut = ZDCRightMBCut;
else fZDCRightMBCut = 800.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCLeftCentrCut(Float_t ZDCLeftCentrCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCLeftCentrCut) fZDCLeftCentrCut = ZDCLeftCentrCut;
else fZDCLeftCentrCut = 10000.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCRightCentrCut(Float_t ZDCRightCentrCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCRightCentrCut) fZDCRightCentrCut = ZDCRightCentrCut;
else fZDCRightCentrCut = 10000.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCLeftSemiCentrCut(Float_t ZDCLeftSemiCentrCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCLeftSemiCentrCut) fZDCLeftSemiCentrCut = ZDCLeftSemiCentrCut;
else fZDCLeftSemiCentrCut = 18500.;
}
//________________________________________________________________
void AliZDCTrigger::SetZDCRightSemiCentrCut(Float_t ZDCRightSemiCentrCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZDCRightSemiCentrCut) fZDCRightSemiCentrCut = ZDCRightSemiCentrCut;
else fZDCRightSemiCentrCut = 18500.;
}
//________________________________________________________________
void AliZDCTrigger::SetZEMCentrCut(Float_t ZEMCentrCut)
{
+ // Set default cut values for ZDC trigger
+ //
if(ZEMCentrCut) fZEMCentrCut = ZEMCentrCut;
else fZEMCentrCut = 210.;
}
protected:
// Setters
- void SetZNMinCut(Float_t ZNMinCut);
void SetZDCLeftMinCut(Float_t ZDCLeftMinCut);
void SetZDCRightMinCut(Float_t ZDCRightMinCut);
void SetZEMMinCut(Float_t ZEMMinCut);
void SetZEMCentrCut(Float_t ZEMCentrCut);
// Data member
- Float_t fZNMinCut;
- Float_t fZDCLeftMinCut;
- Float_t fZDCRightMinCut;
- Float_t fZEMMinCut;
- Float_t fZDCLeftEMDCuts[2];
- Float_t fZDCRightEMDCuts[2];
- Float_t fZDCLeftMBCut;
- Float_t fZDCRightMBCut;
- Float_t fZDCLeftCentrCut;
- Float_t fZDCRightCentrCut;
- Float_t fZDCLeftSemiCentrCut;
- Float_t fZDCRightSemiCentrCut;
- Float_t fZEMCentrCut;
+ Float_t fZDCLeftMinCut; // ZDC left minimum bias
+ Float_t fZDCRightMinCut; // ZDC right minimum bias
+ Float_t fZEMMinCut; // ZEM minimum bias
+ Float_t fZDCLeftEMDCuts[2]; // ZDC left windows for EMD signal
+ Float_t fZDCRightEMDCuts[2]; // ZDC right windows for EMD signal
+ Float_t fZDCLeftMBCut; // ZDC left minimum bias trigger
+ Float_t fZDCRightMBCut; // ZDC right minimum bias trigger
+ Float_t fZDCLeftCentrCut; // ZDC left central trigger
+ Float_t fZDCRightCentrCut; // ZDC right central trigger
+ Float_t fZDCLeftSemiCentrCut;// ZDC left semi-central trigger
+ Float_t fZDCRightSemiCentrCut;// ZDC right semi- central trigger
+ Float_t fZEMCentrCut; // ZEM cut values
ClassDef(AliZDCTrigger,1) // ZDC Trigger Detector class
};
// --- AliRoot classes
#include "AliConst.h"
-#include "AliDetector.h"
#include "AliMagF.h"
-#include "AliPDG.h"
#include "AliRun.h"
-#include "AliZDCHit.h"
#include "AliZDCv2.h"
#include "AliMC.h"
+class AliZDCHit;
+class AliPDG;
+class AliDetector;
ClassImp(AliZDCv2)